【发布时间】:2017-06-09 10:54:38
【问题描述】:
我每个项目都有ListView 和text view 和check box
单击每个项目时,我将复选框状态更改为真/假以在列表中显示所选项目。
listSpinner.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Helper.hideKeyBoard(getApplicationContext(), view);
checkBox = (CheckBox) view.findViewById(R.id.chkbox_value);
if (checkBox.isChecked()) {
checkBox.setChecked(false);
}
else{
checkBox.setChecked(true);
}
}
});
我也尝试过使用 runaable:
checkBox.post(new Runnable() {
@Override
public void run() {
checkBox.setChecked(true);
}
});
它在棉花糖上正常工作,但在牛轧糖上不工作!
注意:当我点击第二个项目时,第一个项目的勾号显示在牛轧糖中。
【问题讨论】:
-
你想达到什么目的?
-
@gprathour 我想我在问题中解释了,当我点击列表视图中的项目时,项目复选框应该被勾选。当我在棉花糖中运行时,复选框被勾选,但在牛轧糖中没有!我清楚了吗
-
我没有得到这个东西,if(checkBox.isChecked) then checkBox.setChecked(false);
-
@gprathour 当使用checkBox显示我们使用
isChecked的状态时,它会返回checkBox是否被选中,点击时如果它已经被选中,我们取消选中它。 -
您是否在适配器中维护复选框状态,如果不是,您必须使用数据集变量维护它以区分检查或不显示适配器代码我认为问题在于视图的回收