我在DataBaseHelper類寫了這個方法:的Android SimpleCursorAdapter問題
public Cursor fetchData(String tableName) {
return myDataBase.rawQuery("SELECT rowid as _id, title FROM "+tableName, null);
}
而且寫在我的活動之一,此代碼:
try {
Cursor cursor = myDbHelper.fetchData("tableName");
String[] columns = {cursor.getColumnName(0), cursor.getColumnName(1)};
int[] columnsLayouts = {R.id.layout1, R.id.layout2};
SimpleCursorAdapter ca = new SimpleCursorAdapter
(this.getBaseContext(),
android.R.id.list, cursor,columns , columnsLayouts);
lv.setAdapter(ca); //lv is my ListView with id="@android:id/list"
txt.setText("Done ! : "); //Process is Ok
} catch (Exception e){
txt.setText("Error"); //Error happens
}
的代碼編譯確定。但是,當達到此線lv.setAdapter(ca);
時,它強行關閉。
是否有問題? 我做錯了嗎?
-
UPDATE: 這是logcat的錯誤(後我通過它們進行過濾:android.view
)試圖誇大你的列表視圖中的項目時
你正在得到什麼錯誤? –
沒有錯誤!應用程序迫使關閉。我相信錯誤發生在'lv.setAdapter()'行,但我不知道爲什麼! – iTurki
如果這可能有所幫助:我聲明這樣的看法:'ListView lv =(ListView)findViewById(android.R.id.list);' – iTurki