2011-07-06 127 views
0

我有一個DataBaseHelper它有一個fetchData()方法返回一個Cursor包含一個整個錶行的drom .sqlite文件在assest文件夾中。CursorAdapter無法實例化!

我寫了這個:

try { 
     Cursor cursor = myDbHelper.fetchData("tableName"); 
     txt.setText("Done!"); //for check only 

    } catch (Exception e){ 
     txt.setText("Can't fetch data !"); 
    } 

我加這兩條線在try塊結束。我以附加CursorAdapter的ca的ListViewlv這樣做:

 CursorAdapter ca = new CursorAdapter(getBaseContext(), cursor, false); 
     lv.setAdapter(ca); 

不過,我在的CursorAdapter實例行的錯誤消息:

不能實例化type CursorAdapter

這裏有什麼問題?我是否使用錯誤的適配器從數據庫中獲取?

回答

2

嗯....讓我們看看: 首先我們打開CursorAdapter的參考頁。

然後我們看一下頭,我們可以讀到: 公共抽象類的CursorAdapter 抽象類不能在Java中實例化(以及任何其他語言實現一個概念),它的功能不是一個錯誤。 更多我們可以找到鏈接到SimpleCursorAdapter這不是抽象的。 所以,簡單的解決方案是「只使用,而不是抽象的CursorAdapter SimpleCustomAdapter。

SimpleCursorAdapter在Android的API存在由於Android 1.0(API LVL1)。

+1

'SimpleCursorAdapter'的構造函數API級別11.我的項目的構建目標1.6。謝謝 – iTurki

+0

是否有可能使用它? – iTurki

+0

在我的文檔中,SimpleCursorAdapter被標記爲「Since:API Level 1」 - 因此,您可以使用它 – piotrpo