我从SQLite数据库中读取了文本消息,然后将其放在一个数组列表中,该列表在simple_list_item_multiple_choice
这就是我目前检查列表中的单个项目的方式。(此代码在我的onclick中)
final TextMessagesList backupSms = new TextMessagesList(txtList);
String selected = "";
int cntChoice = smsListView.getCount();
SparseBooleanArray sparseBooleanArray = smsListView.getCheckedItemPositions();
for(int i = 0; i < cntChoice; i++){
if(sparseBooleanArray.get(i)) {
selected += smsListView.getItemAtPosition(i).toString() + "\n";
}
}
Toast.makeText(Backup.this,selected,Toast.LENGTH_LONG).show();
我可以选择单个复选框,然后选择已选中的内容。 我的问题是,当我检查列表中的第一项时,我如何检查/所有项目
任何人都可以帮我解决下一步需要做的事情吗?
提前感谢您的帮助,非常感谢。
答案 0 :(得分:2)
虽然Emanuel的答案应该勾选复选框,但是ListView也不知道哪些项目被检查,哪些项目没有。为安全起见,我会改为使用getCount()
和setItemChecked()
:
for (int x = 0; x < smsListView.getCount(); x++) {
smsListView.setItemChecked (x, true);
}
要取消选中所有内容,请使用相同的模板,但将true
替换为false
。
答案 1 :(得分:0)
您的问题与您的代码一起留下了一些解释空间。 根据我的解释,这可能是问题的答案:
int count = smsListView.getChildCount();
for (int i = 0; i < count; i++) {
CheckedTextView v = (CheckedTextView) smsListView.getChildAt(i);
v.setChecked(true);
}
如果那不是您所需要的,请详细说明问题。