我在数据库中有数据,其值来自复选框
我尝试使用数据库中的值设置复选框,如果选中数据库非空复选框,但是如果未选中空复选框,则选中该复选框
我的代码是这样的:
public void load(){
final Cursor c = helper.getSat(almagId);
c.moveToFirst();
if(c.getString(3) != null){
ch1.isChecked();
}
isi2.setText(c.getString(4));
if(c.getString(4) != null){
ch2.isChecked();
}
isi3.setText(c.getString(5));
if(c.getString(5) != null){
ch3.isChecked();
}
}
但它不起作用。我可以解决这个问题吗?谢谢你的反馈:)
答案 0 :(得分:12)
isChecked()
会告诉您是否检查了CheckBox
;您无法使用此方法更改“已检查”值。
要进行更改,请使用setChecked(boolean)
作为显式值,或使用toggle()
进行反转。
答案 1 :(得分:0)
isChecked没有设置复选框,它只是告诉你它是否已被选中。要将复选框设置为选中,请调用setChecked(布尔检查),如下所示:
checkBox.setChecked(true);
答案 2 :(得分:0)
您是否检查过以确保数据库在游标中返回空值(而不是空字符串)?
你还没有说过它是如何工作的(所有检查过的,或者没有检查过或者没有检查过,所以上面是在黑暗中最好的猜测)。