【发布时间】:2017-10-09 23:59:00
【问题描述】:
我的活动中有一个复选框,并设法将其保存到 sqlite 数据库。我将复选框保存到字符串“True”以显示它已选中,“False”表示未选中。但是现在我被困在如何回调复选框值并加载它,以便根据我在数据库中的值检查所有复选框。
我该怎么做?谢谢
这是我的代码。
PreDiveBK.java
public class PreDiveBK extends Activity {
private DBOperations db;
String pd1 = "False";
CheckBox cb1;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.predbk);
db = new DBOperations(this);
cb1 = (CheckBox) findViewById(R.id.cb1);
cb1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked){
pd1 = "True";
}else{
pd1 = "False";
}
}
});
}
public void Save(View view)
{
BackgroundTask backgroundTask = new BackgroundTask(this);
backgroundTask.execute("add_info_predivebk", pd1);
finish();
}
【问题讨论】:
-
您必须从数据库中获取与该复选框相关的行,然后获取该字段值,将其解析为布尔值
Boolean.parseBoolean()并将其设置为复选框chk.setChecked(Boolean.parseBoolean(valFromDb))