我正在使用ListView.Code的复选框工作正常。我敲击了所有列表检查项目。我使用下面的代码获取检查项目。但它给出了列表重点区域的结果。
int firstPosition = list.getFirstVisiblePosition();
for(int i = firstPosition; i < list.getCount(); i++){
View v = list.getChildAt(i);
if(v != null){
cbx = (CheckBox)v.findViewById(R.id.c_checkbox);
if(cbx.isChecked()){
//adding this check box to one sub list
}
}
}
但它只给出了可聚焦的列表项结果。取决于子列表我想填充我的菜单,这就是我在onPrepareOptionsMen()方法中使用此代码并单击菜单项从数据库中删除此列表的原因。 我找到了另一个解决方案
long checkedPos[] =list.getCheckedItemIds();
但它正在给予
01-31 12:07:16.042: WARN / dalvikvm(294):VFY:无法 解析虚方法808: Landroid /插件/ ListView中; .getCheckedItemIds ()[J 01-31 12:07:16.042: WARN / dalvikvm(294):VFY:拒绝 操作码0x6e在0x0024
此错误。在Google上搜索后,我找到了另一种解决方案
但是我想在我的活动onPrepareOptionMenu()中使用SparseBooleanArray。如何从我的适配器中将这个结果返回到我的活动中。请给我建议吗?
最后我使用了SparseBooleanArray.Now它运行正常。 问候, Android开发人员
答案 0 :(得分:1)
在我的自定义适配器中使用SparseBooleanArray,解决了这个问题。