我的listview出了问题。基本上由在数据库中搜索生成的列表组成,但在加载列表时,只检测第一个复选框为已选中或未选中,忽略其余复选框。
代码是这样的:
public void AnyadirProdLista() {
// TODO Auto-generated method stub
ListView lista = (ListView) view.findViewById(R.id.ListaProds);
CheckBox check = (CheckBox) view.findViewById(R.id.checkLista);
int contador = lista.getCount();
for (int i = 0; i < contador; i++){
if (check.isChecked()){
Toast.makeText(getActivity(), "a" + i, Toast.LENGTH_LONG).show();
}
}
}
当我这样做并单击激活此方法的按钮时,只有当列表的第一个复选框(列表中的0位置项)使toast工作并完成所有循环,但另一个复选框做什么都没有。
我认为视图中的复选框是假的,并且不知道该做什么,如果有人可以帮助我,我会非常感激。
答案 0 :(得分:0)
CheckBox check = (CheckBox) view.findViewById(R.id.checkLista);
你得到一个复选框,你只检查你上面的那个
if (check.isChecked()){
Toast.makeText(getActivity(), "a" + i, Toast.LENGTH_LONG).show();
}
当你迭代扔掉你的清单时,你应该用另一个复选框覆盖“检查”