基本上,我可以插入到我的數據庫中,並使用下面的方法和顯示ListView的SimpleCursorAdapter查看所有結果 - 完全正常。Android SQLite - 嘗試訪問單行但可以訪問整個數據時的NullPointerException?
// Returns a Cursor containing all JSON strings
public Cursor getAllJSONstrings()
{
// Return all JSONstrings ordered by COLUMN_ID
return ssDatabase.query(TABLE_ROUTINES, new String[] {COLUMN_ROWID, COLUMN_JSON}, null, null, null, null, COLUMN_ROWID);
}
但是,以下方法給出無外乎我每次查詢的時間NullPointerException
。
的ID logcat的標籤顯示標籤爲它應該是什麼,1等
// Return one JSONstring in String form
public String getJSONstring(long id)
{
Log.i(TAG, "getJSONstringStart... id=" + id);
Cursor cursor;
Log.i(TAG, "Cursor defined");
/****** NullPointerException LINE ******/
cursor = ssDatabase.query(TABLE_ROUTINES, null, "_id=" + id, null, null, null, null);
Log.i(TAG, "Exceed Cursor");
int index = cursor.getColumnIndex(COLUMN_JSON);
Log.i(TAG, "index=" + index);
return cursor.getString(index);
}
對於它的價值,這種方法getJSONString(長ID)是被在的AsyncTask執行的第一項。它引用的id是OnItemClickListeners onItemClick方法中的id。
任何幫助將非常感激,我的頭走了!
乾杯!
如果發生異常時有比你可能想檢查'ssDatabase'爲'null'。 – Luksprog
你可以添加logcat /告訴我們哪一行是NPE? – fedepaol
我可能會離開,但是你不應該在光標上做某種'moveToFirst()'或某物? – daniel