2016-11-10 4 views
2

У меня есть метод вставки на классе DBHelper работе и на моем MainActivity.java у меня есть:сохранить значение флажка для SQLite базы данных

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

Третий параметр при вставке является логическим значением от флажка, моя проблема как получить значение, как я делаю на Strings, используя 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); 
       } 

      } 
     }); 
+1

как вы используете checkbox добавить код –

ответ

0

Используйте это вместо проверки:

String.valueOf(checked); 
0

Вы можете связать свой чек статус окна выбора с 1 или 0, 1 для флажка Проверено и 0, когда флажок не установлен. таким образом вы можете использовать вас 1 для true и 0 для false.

или что-то в этом роде.

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

Вы можете сохранить значение флажка в SQLite в виде строк, потому что
нет логического типа данных в SQLite.

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

если флажок установлен, вы можете получить булево значение (истина или ложь) со значением = checkbox.isChecked();

Если это правда, сохраните как 1 в своем дБ, если не сохранить как 0

Смежные вопросы