list.getAdapter()。getView(i,view,list)不更新我的行

时间:2015-09-18 08:09:38

标签: android listview

我的行布局中有一个按钮,点击切换其状态(及其背景资源)。

在onClickListener上,我将相应的数据更新到此行,然后调用

list.getAdapter().getView(i, view, list);

调用适配器getView(具有更新的数据),但它不会直观地更新我的可见行。有什么想法吗?

请注意,当我向下滚动然后向后滚动时,行正在更新。

PS1:调用adapter.notifyDataSetChanged()有效,但我不想这样做,因为我想更新一行。

PS2:我知道我可以在其监听器中自行更新行的按钮,但我更愿意让适配器为我执行此操作,因为稍后更新行会变得更复杂。

1 个答案:

答案 0 :(得分:3)

致电

list.getAdapter().getView(i, view, list);

错了。系统负责调用getView来更新/呈现ListView的内容。您必须更新用于构建 ListView内容的数据集,然后调用notifyDataSetChanged()