2 annbnncnnd AnnBnnCnnD 于 2013.04.10 11:25 提问

安卓中使用int出现编译错误

在SQlite类中的put方法出现编译错误。

put下划线得到的信息: "change type of "KEY_CHECKBOX_STATUS" to String"

contentValues.put(KEY_CHECKBOX_STATUS, checkBoxStatus);

需要在put方法中使用整数型,怎么办?

数据库变量:

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

insert方法:

 public void insert(Integer checkBoxStatus){

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

1个回答

g989_1314125
g989_1314125   2013.04.10 14:28
已采纳

在put方法中第一个参数应该是string,checkBoxStatus 可以是整型,只要修改

public static final int KEY_CHECKBOX_STATUS = 0;  

用这句代码代替:

public static final String KEY_CHECKBOX_STATUS = "check_box_status;
Csdn user default icon
上传中...
上传图片
插入图片