【问题标题】:Android - populate ListView SQLite, cursor null pointerAndroid - 填充 ListView SQLite,游标空指针
【发布时间】:2015-03-06 19:48:23
【问题描述】:

我有两张表 atm,用户和便笺。我正在尝试检索属于用户的数据。因此,所有要列出的数据都必须归原始用户所有,并且只显示给他。我在 Databasehelper 中制作了我的表。 我创建了一个控制笔记表的新类。在 listNotes() 中,我想遍历光标行并获取用户拥有的所有数据。我的查询正确吗?

// Listing all notes

public Cursor listNotes() {

    Cursor c = db.query(help.NOTE_TABLE, new String[]{help.COLUMN_TITLE,help.COLUMN_BODY, help.COLUMN_DATE}, null, null, null, null, null);
    if (c != null) {
        c.moveToFirst();
    }
    db.close();
   return c;

 }

然后我想在列表视图中显示收集到的光标数据

public void populateList(){

    Cursor cursor = control.listNotes();
    getActivity().startManagingCursor(cursor);

    //Mapping the fields cursor to text views
    String[] fields = new String[]{help.COLUMN_TITLE,help.COLUMN_BODY, help.COLUMN_DATE};
    int [] text = new int[] {R.id.item_title,R.id.item_body, R.id.item_date};
    adapter = new SimpleCursorAdapter(getActivity(),R.layout.list_layout,cursor, fields, text,0);

    //Calling list object instance
    listView = (ListView) getView().findViewById(android.R.id.list);
    adapter.notifyDataSetChanged();
    listView.setAdapter(adapter);
}

【问题讨论】:

标签: android android-fragments android-listview android-sqlite


【解决方案1】:

您没有创建NOTE_TABLE 权利。
你在这里错过了一个空格和一个逗号

+ COLUMN_DATE + "DATETIME DEFAULT CURRENT_TIMESTAMP"

必须是

+ COLUMN_DATE + " DATETIME DEFAULT CURRENT_TIMESTAMP,"

【讨论】:

    【解决方案2】:

    这里有两个问题:

    一个是您错过了一个逗号(在较早答案中指定的时间戳之后)。

    您遇到的另一个错误是使用 SimpleCursorAdapter 时,您需要确保 Projection 字符串数组包含唯一索引行的内容,并且这必须是名为“_id”的整数列。 SQLite 已经为此内置了一个功能,并为此提供了一个名为“_id”的列(但是您可以拥有自己的整数列,您可以将其重命名为 _id)。要解决这个问题,请将投影字符串数组更改为:

    new String[] {"ROW_ID AS _id", help.COLUMN_TITLE,help.COLUMN_BODY, help.COLUMN_DATE}
    

    我猜 NullPointerException 源于此(但没有堆栈跟踪,我不确定)。

    【讨论】:

    • 我认为我在填充方法中检索数据光标错误
    • 你能显示哪一行抛出了 NPE 以及堆栈跟踪吗?
    猜你喜欢
    • 1970-01-01
    • 2011-12-29
    • 1970-01-01
    • 2014-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多