我試圖創建一個列表適配器,它可以引入並顯示數據庫中的數據。從我所知道的情況來看,它正在拉動信息,但是當我嘗試從新的Simple遊標適配器創建ListAdapter時失敗。不知道我在這裏做錯了什麼。將SQLite數據放入ListActivity
SQLiteDatabase db = myDbHelper.getReadableDatabase();
String select = "Select StateID, State, Details from States";
Cursor cursor = db.rawQuery(select, null);
startManagingCursor(cursor);
ListAdapter adapter = new SimpleCursorAdapter(this,
android.R.layout.simple_list_item_1,
cursor,
new String[]{"State"},
new int[]{android.R.id.text1});
setListAdapter(adapter);
第二部分將被找出如何分配STATEID在列表中的行ID,這樣當有人點擊的狀態,但是,這樣是不可見的,我可以訪問它。
我還沒有在Eclipse中進行大量的調試,但仍處於學習階段。 在logcat的我發現 06-22 21:02:22.519:ERROR/AndroidRuntime(229):未捕獲的處理程序:線程退出主要由於未捕獲的異常 06-22 21:02:22.750:ERROR/AndroidRuntime(229 ):java.lang.RuntimeException:無法啓動活動ComponentInfo {com.jl.og/com.jl.og.Informational}:java.lang.IllegalArgumentException:列'_id'不存在 – AndyD273 2010-06-22 21:18:24
因此,我將StateID重命名爲_id,似乎這樣做。 這真的令人沮喪。它不是_ID,它必須是_id。 我也有8個表,我將它們連接在一起,並且在所有表上使用_id作爲主鍵是有點煩人的,因爲它們現在不匹配外鍵,這使得事情變得愚蠢。 另外我在幾個應用程序中使用這個數據庫,這意味着我必須重寫它們以使用新的結構,或者我必須在每次更新時重命名ID列......有什麼辦法可以解決這個問題? – AndyD273 2010-06-22 21:18:55
是否可以將'Select StateID as _id'? – AndyD273 2010-06-22 21:20:18