无法在列表活动中创建数据库

问题描述

| 我试图在单击按钮时在listactivity中创建一个数据库。但是我遇到了一个错误   方法   openorCreateDatabase(String,int,   为new类型未定义)   View.OnClickListener(){} \“和   \“ DefaultDBHelper无法解析。 有什么办法可以在listactivity中这样做吗?请帮忙 !!! 我的代码
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(); 
      }
   }
});
    

解决方法

你只是像这样更改代码
SQLiteDatabase myDB = getBaseContext().openOrCreateDatabase(MY_DATABASE_NAME,SQLiteDatabase.OPEN_READWRITE,null);
我认为这会帮助你     ,
 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对象,这会导致编译错误。取出\'this \'将解决问题