【问题标题】:save checkbox value to sqlite database将复选框值保存到 sqlite 数据库
【发布时间】:2017-03-24 09:47:24
【问题描述】:

我在 DBHelper 类和 MainActivity.java 上都有我的插入方法:

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

插入的第三个参数是来自复选框的布尔值,我的问题是如何使用 sometext.getText().toString() 像在字符串上一样获取值。这在布尔值上是如何工作的? 请帮忙 在我的适配器类上,我有:

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);
                }

            }
        });

【问题讨论】:

  • 你是如何使用复选框添加所有代码

标签: java android sqlite checkbox


【解决方案1】:

用这个代替检查:

String.valueOf(checked);

【讨论】:

    【解决方案2】:

    您可以将复选框选择状态与 1 或 0 相关联,1 表示已选中复选框,0 表示未选中复选框。这样你就可以用 1 代表真,0 代表假。

    或类似的东西。

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

        如果选中了一个复选框,您可以使用 value = checkbox.isChecked(); 获取布尔值(真或假);

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-08-23
          • 2021-12-07
          • 1970-01-01
          • 1970-01-01
          • 2017-01-29
          相关资源
          最近更新 更多