为什么我的listview只检测到第一个复选框?

时间:2013-07-27 11:11:10

标签: android listview checkbox

我的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工作并完成所有循环,但另一个复选框做什么都没有。

我认为视图中的复选框是假的,并且不知道该做什么,如果有人可以帮助我,我会非常感激。

1 个答案:

答案 0 :(得分:0)

CheckBox check = (CheckBox) view.findViewById(R.id.checkLista);

你得到一个复选框,你只检查你上面的那个

if (check.isChecked()){
        Toast.makeText(getActivity(), "a" + i, Toast.LENGTH_LONG).show();
}

当你迭代扔掉你的清单时,你应该用另一个复选框覆盖“检查”