我试图在单击按钮时在listactivity中创建一个数据库..但是我收到错误
方法 openOrCreateDatabase(String,int, 对于new类型,未定义null View.OnClickListener(){}“和 “无法解析DefaultDBHelper。
有没有办法在列表活动中这样做?请帮忙!!!
我的代码:
reset.setOnClickListener(new OnClickListener()
{
private int count;
@Override public void onClick(View v)
{
SQLiteDatabase myDB = this.openOrCreateDatabase(MY_DATABASE_NAME, SQLiteDatabase.OPEN_READWRITE, null);
try
{
/* Create the Database (no Errors if it already exists) */
// myDB = dbHelper.getWritableDatabase();
// dbHelper.onCreate(myDB);
myDB.execSQL("CREATE TABLE IF NOT EXISTS "
+ DefaultDBHelper.MY_DATABASE_TABLE
+ " (LastName VARCHAR, FirstName VARCHAR,"
+ " Country VARCHAR, Age INT(3));");
myDB.execSQL("INSERT INTO "
+ DefaultDBHelper.MY_DATABASE_TABLE
+ " (LastName, FirstName, Country, Age)"
+ " VALUES ('name', 'title', 'country', 20);");
}
catch (SQLiteException e) {
}
finally {
if (myDB != null)
myDB.close();
}
}
});
答案 0 :(得分:4)
你只需改变这样的代码
SQLiteDatabase myDB = getBaseContext().openOrCreateDatabase(MY_DATABASE_NAME, SQLiteDatabase.OPEN_READWRITE, null);
我认为这会对你有所帮助
答案 1 :(得分:0)
reset.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
SQLiteDatabase myDB =openOrCreateDatabase("DB_NAME", MODE_WORLD_WRITEABLE ,null);
}
});
以下代码将起作用。我已经测试了它。' this '引用了你在那里创建的OnClickListener对象。这导致编译错误。找出'这个'将解决问题