将复选框值保存到sqlite数据库

时间:2016-11-10 11:20:54

标签: java android sqlite checkbox

我在DBHelper类上运行了insert方法,在我的MainActivity.java上有:

if (mydb.insertItem(userinput.getText().toString(), userdesc.getText().toString(), checked)) {
    Toast.makeText(getApplicationContext(), "done", Toast.LENGTH_SHORT).show();
}

insert上的第三个参数是一个复选框的布尔值,我的问题是我如何通过使用sometext.getText()。toString()来获取我在Strings上的值。这对布尔人有什么用? 请帮忙 在我的适配器类上,我有:

itemViewsHolder.getCheckBox().setChecked( item.isChecked() );

        itemViewsHolder.cbdone.setOnClickListener( new View.OnClickListener() {
            public void onClick(View v) {

                CheckBox cb = (CheckBox) v ;
                Items itm = (Items) cb.getTag();
                itm.setChecked( cb.isChecked() );

                if(cb.isChecked()){
                    String s = itm.getName();
                    System.out.println(s);
                }

            }
        });

4 个答案:

答案 0 :(得分:0)

使用此代替检查:

String.valueOf(checked);

答案 1 :(得分:0)

您可以将复选框选择状态与1或0关联,复选框选中,选中复选框,选中复选框时为0。这样你可以使用1表示true,0表示false表示。

或类似的东西。

 boolean checked = false; //declare a boolean variable
if (checkbox.checked condition) // check checkbox status.
            checked = true;  // proceed accordingly.

答案 2 :(得分:0)

您可以在表格字符串中存储SQLite中复选框的值,因为有    SQLite中没有布尔数据类型。

    String flag;
   if(cb.isChecked())
    {
        String flag = "true";
    }else{
        flag = "false";
     }
   System.out.println(flag);

答案 3 :(得分:0)

如果选中复选框,则可以使用value = checkbox.isChecked();

获取bool值(true或false)

如果为真,则在数据库中保存为1,如果不保存为0