CursorAdapter无法实例化!

时间:2011-07-06 09:35:41

标签: android database sqlite listview android-cursoradapter

我有一个 DataBaseHelper ,它有一个fetchData()方法,它返回一个Cursor,其中包含整个表行和一个.sqlite文件在assest文件夹中。

我写了这个:

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

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

我在 try块的末尾添加了这两行。我这样做是为了将 CursorAdapter ca附加到 ListView lv

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

但是,我在 CursorAdapter 实例化行中收到错误消息:

  

无法实例化CursorAdapter类型

这里有什么问题?我是否使用错误的适配器从数据库中获取?

1 个答案:

答案 0 :(得分:2)

嗯......让我们看看: 首先,我们打开CursorAdapter的参考页面。

然后我们看看标题,我们可以阅读: public abstract 类CursorAdapter 抽象类无法在Java中实现(以及实现该概念的任何其他语言),它的功能不是错误。 我们可以找到更多的行,我们可以找到SimpleCursorAdapter的链接,这不是抽象的。 如此简单的解决方案是“只使用SimpleCustomAdapter而不是抽象的CursorAdapter。

自Android 1.0(API lvl1)以来,

SimpleCursorAdapter存在于Android API中。