我想要啓動一個新活動時遇到問題,包含對擴展SQLiteOpenHelper的對象的引用。SQLiteOpenHelper創建期間「應用程序已停止...」
這是我SART我的活動:
// Listener for button
class LoginButtonListener implements View.OnClickListener {
@Override
public void onClick(View v) {
Intent intent = new Intent(v.getContext(), MasterUserActivity.class);
v.getContext().startActivity(intent);
}
}
我的新活動:
// I will be implementing ListView in here
public class MasterUserActivity extends ListActivity {
private DBHandler dbHandler = new DBHandler(this);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.master_user);
Toast toast = Toast.makeText(MasterUserActivity.this, "It works :)", Toast.LENGTH_LONG);
toast.show();
}
}
而且我DBHandler類:
public class DBHandler extends SQLiteOpenHelper {
public DBHandler(Context contex) {
super(contex, "bankapplication.db", null, 1);
}
@Override
public void onCreate(SQLiteDatabase database) {
String query = "CREATE TABLE users (login TEXT, password TEXT, name TEXT, "
+ "phone TEXT, country TEXT, balance TEXT)";
database.execSQL(query);
}
@Override
public void onUpgrade(SQLiteDatabase database, int oldVersion, int newVersion) {
String query = "DROP TABLE IF EXISTS users";
database.execSQL(query);
onCreate(database);
}
}
它工作正常,當我註釋掉private DBHandler dbHandler = new DBHandler(this);
這裏有什麼問題?
向我們展示您的堆棧跟蹤。 –
你不能在聲明區域執行此操作:'private DBHandler dbHandler = new DBHandler(this);'你必須把它分成兩個語句。並將初始化放入'onCreate()' –
它仍然不起作用 –