猿问

Android Checkbox listview全选(禁用/启用)

我想禁用/启用列表视图中的所有复选框。实际上想通过单击顶部复选框来选择所有行为。



汪汪一只猫
浏览 625回答 3
3回答

月关宝盒

这最终对我有用,在这里我使用了游标适配器,而不仅仅是ArrayListAdapter我的列表项:final ListView list = getListView();for ( int i=0; i< getListAdapter().getCount(); i++ ) {&nbsp; &nbsp; &nbsp; &nbsp; list.setItemChecked(i, true);}list.getChildCount之所以不起作用,是因为它似乎只能计算立即绘制的内容(而不是屏幕上的所有内容),因此childCount当整个列表为100或更多时,可能只有6或8个项目。同样,我不得不使用list.setItemChecked“保留检查”项-至少在我的情况下,我的列表项是的实例CheckedTextView。

斯蒂芬大帝

for(int i=0; i < listView.getChildCount(); i++){&nbsp; &nbsp; RelativeLayout itemLayout = (RelativeLayout)listView.getChildAt(i);&nbsp; &nbsp; CheckBox cb = (CheckBox)itemLayout.findViewById(R.id.MyListViewCheckBox);&nbsp; &nbsp; cb.setChecked(true);}您需要编辑此代码来处理启用和禁用操作,但是希望您能理解!另外,这只会选中每个复选框,确保要从列表中返回ID或对象,以便将数据发送/保存到其他位置。
随时随地看视频慕课网APP

相关分类

Android
我要回答