3 回答
TA贡献1772条经验 获得超5个赞
这最终对我有用,在这里我使用了游标适配器,而不仅仅是ArrayListAdapter我的列表项:
final ListView list = getListView();
for ( int i=0; i< getListAdapter().getCount(); i++ ) {
list.setItemChecked(i, true);
}
list.getChildCount之所以不起作用,是因为它似乎只能计算立即绘制的内容(而不是屏幕上的所有内容),因此childCount当整个列表为100或更多时,可能只有6或8个项目。同样,我不得不使用list.setItemChecked“保留检查”项-至少在我的情况下,我的列表项是的实例CheckedTextView。
TA贡献1827条经验 获得超8个赞
for(int i=0; i < listView.getChildCount(); i++){
RelativeLayout itemLayout = (RelativeLayout)listView.getChildAt(i);
CheckBox cb = (CheckBox)itemLayout.findViewById(R.id.MyListViewCheckBox);
cb.setChecked(true);
}
您需要编辑此代码来处理启用和禁用操作,但是希望您能理解!
另外,这只会选中每个复选框,确保要从列表中返回ID或对象,以便将数据发送/保存到其他位置。
- 3 回答
- 0 关注
- 624 浏览
添加回答
举报