我正在尝试打印复选框列表的内容。我想按照 ListView 中显示的顺序显示所有未选中(假值)和选中(真值)。到目前为止我只能得到真值,如何得到未经检查的假值?
public void selection (){
final ListView lv = (ListView)findViewById(R.id.treeQuestionsList);
Intent intent = getIntent();
int id2 = intent.getIntExtra("id2", 0);
SparseBooleanArray checked = lv.getCheckedItemPositions();
int size = checked.size();
for (int i = 0; i < size; i++) {
int key = checked.keyAt(i);
entries.add(new Observation(id2,lv.getCheckedItemPositions().get(key)));
Log.d(Constants.TAG,"--ID:="+id2+"--checkeddata----"+ entries.get(i).answers);
}
}
最佳答案
根据 Android 开发人员提供的文档,您可能需要结合使用值和键才能获得所需的结果。
for (int i=0; i < checked.size(); i++) {
if (checked.valueAt(i)) {
int key = checked.keyAt(i);
Log.i(TAG, key + " is selected");
} else {
int key = checked.keyAt(i);
Log.i(TAG, key + " is not selected");
}
}
你也可以看看什么是getCheckedItemPositions()
关于java - 从复选框中获取未选中和选中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34983678/