我有一個ListActivity來顯示一個Arraylist。 在onListItemClick()我調用另一個ListActivity。 我有一個特定的類來擴展SQLiteOpenHelper()來管理數據庫。android遊標列表和活動
在第一ListActivity我有此代碼
protected void onListItemClick(ListView l, View v, int position, long id) {
String selection = l.getItemAtPosition(position).toString();
secondListActivity itemsList= new secondListActivity();
itemsList.showItemsList(selection);
//Toast.makeText(this, selection, Toast.LENGTH_LONG).show();
}
的showComicsList()方法在secondListActivity已經
public void showItemsList(String name)
{
DatabasesManager databaseHelper = new DatabasesManager(this);
Cursor series = databaseHelper.getItemsIdByName(name);
Cursor cursor = databaseHelper.getChildren(series.getString(0));
for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {
//fetching from database and adding to arrayList
results.add(cursor.getString(cursor.getColumnIndex(ChildrensTable.NUMBER)));
}
cursor.close();
//display in screen
this.setListAdapter(
new ArrayAdapter<Object>(
secondListActivity.this,
android.R.layout.simple_list_item_1,
results
)
);
}
的getItemsIdByName()調用光標
public Cursor getItemsIdByName(String name)
{
return(getReadableDatabase().query(
itemsTable.TABLE_NAME,
null,
"name =" + name,
null,
null,
null,
null,
null));
}
當我打電話給getItemsIdByName()我得到這個錯誤
09-12 14:12:17.906: ERROR/AndroidRuntime(6090): FATAL EXCEPTION: main
09-12 14:12:17.906: ERROR/AndroidRuntime(6090): java.lang.NullPointerException
09-12 14:12:17.906: ERROR/AndroidRuntime(6090): at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:203)
09-12 14:12:17.906: ERROR/AndroidRuntime(6090): at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:118)
09-12 14:12:17.906: ERROR/AndroidRuntime(6090): at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:187)
09-12 14:12:17.906: ERROR/AndroidRuntime(6090): at zepod.whatelsecomics.databases.wecDatabasesManager.getComics(wecDatabasesManager.java:159)
09-12 14:12:17.906: ERROR/AndroidRuntime(6090): at zepod.whatelsecomics.WhatelsecomicsListActivity.showComicsList(WhatelsecomicsListActivity.java:25)
09-12 14:12:17.906: ERROR/AndroidRuntime(6090): at zepod.whatelsecomics.WhatelsecomicsActivity.onListItemClick(WhatelsecomicsActivity.java:47)
09-12 14:12:17.906: ERROR/AndroidRuntime(6090): at android.app.ListActivity$2.onItemClick(ListActivity.java:319)
09-12 14:12:17.906: ERROR/AndroidRuntime(6090): at android.widget.AdapterView.performItemClick(AdapterView.java:284)
09-12 14:12:17.906: ERROR/AndroidRuntime(6090): at android.widget.ListView.performItemClick(ListView.java:3513)
09-12 14:12:17.906: ERROR/AndroidRuntime(6090): at android.widget.AbsListView$PerformClick.run(AbsListView.java:1800)
09-12 14:12:17.906: ERROR/AndroidRuntime(6090): at android.os.Handler.handleCallback(Handler.java:587)
09-12 14:12:17.906: ERROR/AndroidRuntime(6090): at android.os.Handler.dispatchMessage(Handler.java:92)
09-12 14:12:17.906: ERROR/AndroidRuntime(6090): at android.os.Looper.loop(Looper.java:123)
09-12 14:12:17.906: ERROR/AndroidRuntime(6090): at android.app.ActivityThread.main(ActivityThread.java:3647)
09-12 14:12:17.906: ERROR/AndroidRuntime(6090): at java.lang.reflect.Method.invokeNative(Native Method)
09-12 14:12:17.906: ERROR/AndroidRuntime(6090): at java.lang.reflect.Method.invoke(Method.java:507)
09-12 14:12:17.906: ERROR/AndroidRuntime(6090): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
09-12 14:12:17.906: ERROR/AndroidRuntime(6090): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
09-12 14:12:17.906: ERROR/AndroidRuntime(6090): at dalvik.system.NativeStart.main(Native Method)
有人可以幫我嗎?
在聲明後調用'databaseHelper.open()'。 –
當我粘貼databaseHelper.open()IDE說我需要ti在databasehelper中創建一個打開的方法 – aczepod
哦,然後編輯你的問題並向我們展示你的'DatabaseHelper.java'代碼,你必須創建一個方法'open ()' –