1

SQLite クラスの put メソッドの Eclipse でコンパイラ エラーが発生します。「put」に下線が引かれ、「「KEY_CHECKBOX_STATUS」のタイプを String に変更してください」というメッセージが表示されます。

   contentValues.put(KEY_CHECKBOX_STATUS, checkBoxStatus);

整数を使用できるようにするにはどうすればこの問題を解決できますか? それとも、put メソッドに int を使用することはできませんか? すべてに string を使用し、必要に応じて string から int にキャストし直す必要がありますか?

データベース変数:

    public static final String MYDATABASE_NAME = "my_database";
    public static final String MYDATABASE_TABLE = "my_table";
    public static final int MYDATABASE_VERSION = 1;
    public static final int KEY_CHECKBOX_STATUS = 0;
    public static final String KEY_CHECKBOX_LABEL = "Example Label";

  //create table MY_DATABASE (ID integer primary key, Content text not null);
    private static final String SCRIPT_CREATE_DATABASE =
     "CREATE_TABLE IF NOT EXISTS " + MYDATABASE_TABLE + " (" + "ID INTEGER PRIMARY KEY AUTOINCREMENT, " +  
     + KEY_CHECKBOX_STATUS + " BIT, " + KEY_CHECKBOX_LABEL + " TEXT NOT NULL);";

挿入方法:

 public void insert(Integer checkBoxStatus){

          ContentValues contentValues = new ContentValues();
          contentValues.put(KEY_CHECKBOX_STATUS, checkBoxStatus); // <-- compiler error
          sqLiteDatabase.insert(MYDATABASE_TABLE, null, contentValues);
         }
4

2 に答える 2

4

メソッドの最初のパラメーターはput文字列でなければならず、checkBoxStatus整数にすることもできます。変えるだけ

public static final int KEY_CHECKBOX_STATUS = 0;  

public static final String KEY_CHECKBOX_STATUS = "check_box_status;
于 2013-04-10T02:38:14.513 に答える