通过使用下面的代码片段从OnEmClickListener获取复选框

onItemClick(AdapterView<?> parent, View view, int position, long id) {

        Log.w("TAG","onItemClick clicked position :"+position);

        CheckBox cbx = (CheckBox)view.findViewById(R.id.c_checkbox);
        if(cbx.isChecked()){
            Toast.makeText(getApplicationContext(),
                    "Checked position " + shoppingList.get(position).getItem(),
                    Toast.LENGTH_SHORT).show();
        }

我需要得到所有的位置来检查哪个列表项被选中。
我用了下面的片段
int firstPosition = list.getFirstVisiblePosition();
             for(int i=firstPosition;i<=list.getCount();i++){
             View v=list.getChildAt(i);
             cbx = (CheckBox)v.findViewById(R.id.c_checkbox);
             if(cbx.isChecked()){
            }
         }

在下面的代码cbx中,给我一个空指针异常。我使用viewholder作为自定义适配器。请给我解决方案。为什么在onitemclicklistener中也会发生同样的事情?
当做,
拉杰达尔

最佳答案

它认为可能是

for(int i=firstPosition;i< **=** list.getCount();i++)

但这只是一个疯狂的猜测。
为什么不使用可检查的列表视图,然后使用this

10-08 17:13