我有一个带CheckBox的ListView.
我想要实现的是onItemClick(在我的活动中),如果我点击该行,则检查/选择我的CheckBox,如下所示:
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
MyItem row = ListofRows.get(position);
row.setSelected(true);
myAdapter.notifyDataSetChanged();
}
当我单击该行时,由于方法notifyDataSetChanged()而刷新ListView
问题是:这个方法刷新整个ListView,因此,即使用户位于列表的底部,ScroolBar也会开始(用户被驱动到列表的标题).
我需要的是:刷新这个单击的行,这样用户就不会被驱动到列表的开头.
这个问题有什么解决方案吗?
解决方法:
使用选定的索引
查看v = getListView.getChildAt(index);
现在使用新值更新视图.