我使用的是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