您必须保存在列表变量的检查项目(在你的适配器子类),并设置取决于物品是否存在在列表中变量的正确状态(选中/取消) 。
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));
}
在那里我有 “实施OnItemClickListener”?在扩展ArrayAdapter >类? onItemClick函数从未输入。什么是你添加的文档元素? – wutangl
它的完成... ;-)它的工作! – wutangl
更新了我的回答,抱歉不清楚。如果它对您有帮助,请将其标记为答案。 – Akshay