[求助]在适配器里面通过按钮更新了list数据 怎么更新listView?

搞什么灯儿 2014-04-18 02:08:55
如题

问题一:
图片里面红色的就是一个item 我想点击第1个按钮 然后显示出第二个按钮 怎么弄啊? 只能隐藏点击的那个按钮 不能显示出第二个按钮,为什么啊? 感觉不能在适配器里面操作ui 但是又能隐藏当前点击的视图
问题二:
我想点击了那个按钮 也是更新了传进来的list集合里面的数据,就是怎么通过在适配器里面点击了那个按钮 然后去更新list 然后再刷新listView。。。。

求助。。。。
...全文
276 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
搞什么灯儿 2014-04-18
  • 打赏
  • 举报
回复
引用 1 楼 jack_wolf_ 的回复:
1,开始有第二个按钮,设置为GONE,单击后显示 2,配置器中,也能刷新整个数据,自定义Adapter就可以
case R.id.btn_house_user_cancle_id:
			Toast.makeText(mContext, "取消关注 ", 0).show();
			viewHolder.btn_house_user_guanzhu.setVisibility(View.VISIBLE);
			break;   
比如这样就不行啊 第二个按钮不会显示出来。。。。。。
阿凯1989 2014-04-18
  • 打赏
  • 举报
回复
问题一:你需要将Activity中的Button传到适配器中,跟传参一样,就可以操作了,其他控件也类似 问题二:直接用 notifyDataSetChanged();就可以 例如: 适配器中启用线程后刷新listview Handler handler = new Handler() { @Override public void handleMessage(Message msg) { if(msg.what == Delete_TOPIC_SUCCESS) { Toast.makeText(context, "删除成功", Toast.LENGTH_SHORT).show(); myList.remove(selectIndex); notifyDataSetChanged(); } else if(msg.what == Ding_TOPIC_SUCCESS) { Toast.makeText(context, "顶贴成功", Toast.LENGTH_SHORT).show(); myList.get(selectIndex).setDingCount(myList.get(selectIndex).getDingCount()+1); notifyDataSetChanged(); } else if(msg.what == Ding_TOPIC_GOVER) { Toast.makeText(context, "该贴您已顶过,无法重复顶", Toast.LENGTH_SHORT).show(); notifyDataSetChanged(); } else { Toast.makeText(context, msg.getData().getString("msg"), Toast.LENGTH_SHORT).show(); } } };
酒比花香 2014-04-18
  • 打赏
  • 举报
回复
问题二没看明白,问题一:点击按钮后,要修改list中的数据,同时如果有其他操作的话,一并做了,然后调用adapter.notifyDatachanged()方法,该UI就会重新绘制。第二个图就会显示出来了。
映映 2014-04-18
  • 打赏
  • 举报
回复
1,开始有第二个按钮,设置为GONE,单击后显示 2,配置器中,也能刷新整个数据,自定义Adapter就可以

80,350

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧