2011-08-16 173 views

回答

0

您必須保存在列表變量的檢查項目(在你的適配器子類),並設置取決於物品是否存在在列表中變量的正確狀態(選中/取消) 。

private List<MyItem> mCheckedItems; //In your adapter subclass 

添加/從列表變量中刪除項目:

//The AdapterView.OnItemClickListener, is present where you set myListView.setOnItemClickListener(this); 
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) 
{ 

    MyItem item = myAdapter.getItem(position); 
    myAdapter.updateCheckedItems(item); 
} 

public void updateCheckedItems(MyItem item) //In your adapter subclass 
{ 
     if(!mCheckedItems.contains(item)) 
     { 
      mCheckedItems.add(item); 
     } 
     else 
     { 
      mCheckedItems.remove(item); 
     } 
} 

選中複選框的正確狀態:

public View getView(int position , View view , ViewGroup parent) //In your adapter subclass 
{ 
    final MyItem item = getItem(position); 
    CheckBox checkBox = (CheckBox)view.findViewById(R.id.checkBox); 
    checkBox.setChecked(mCheckedItems.contains(item)); 
} 
+0

在那裏我有 「實施OnItemClickListener」?在擴展ArrayAdapter 類? onItemClick函數從未輸入。什麼是你添加的文檔元素? – wutangl

+0

它的完成... ;-)它的工作! – wutangl

+0

更新了我的回答,抱歉不清楚。如果它對您有幫助,請將其標記爲答案。 – Akshay

相關問題