我使用的是ListView
其中有:ViewBinder setViewValue的ListView项导致多个复选框选中
- 列表项单击
CheckBox
点击
我可以保存cursorPosition使用view.setTag(cursor.getPosition())
我可以对检查的项目采取必要的措施,但是当我向下滚动时,我看到其他几个CheckBoxes
已勾选(仅供视觉使用)。 作为解决方法,我尝试设置视图描述,在列表中保存CheckedBox
视图ID,然后迭代查看是否需要将CheckBox
显示为已检查。但是当我向下滚动(相同的视图ID)时,视图似乎被重用。
如何才能显示实际选中的CheckBoxes
?代码:
public class MyViewBinder implements ViewBinder {
public boolean setViewValue(View view, final Cursor cursor, int columnIndex) {
int viewId = view.getId();
switch (viewId) {
case R.id.checkbox:
view.setTag(cursor.getPosition());
return true;
case R.id.....
.......
}
用作:
mySimpleCursorAdapter.setViewBinder(myViewBinder);
您是否使用ViewHolder模式?有些代码会帮助:) – Noel
添加了代码。这个Viewbinder按照描述使用。 – Taranfx