CursorAdapter java.lang.IllegalArgumentException:列'_id'不存在

时间:2017-07-01 14:50:44

标签: java android

我的项目总是说

  

java.lang.IllegalArgumentException:列'_id'不存在

我的项目突然停止了。

我做了所有可能的解决方案,例如卸载应用,在我的数据库表中将ID的列名从 _ID 更改为 _id ,在 _id ,我在谷歌发现的所有内容我都遵循了,但它没有帮助解决问题。

这是我的代码。

MainActivity.java

  Cursor res = db.query("songs",null,null,null,null,null,"title");
        ClientCursorAdapter adapter = new ClientCursorAdapter(
                this, R.layout.row_layout, res, 0 );
        lv.setAdapter(adapter);

ClientCursorAdapter.java

class ClientCursorAdapter extends ResourceCursorAdapter {
    public ClientCursorAdapter(Context context, int layout, Cursor cursor, int flags) {
        super(context, layout, cursor, flags);
    }

    @Override
    public void bindView(View view, Context context, Cursor cursor) {
        TextView name = (TextView) view.findViewById(R.id.Title);
        name.setText(cursor.getString(cursor.getColumnIndex("title")));

        TextView phone = (TextView) view.findViewById(R.id.Artist);
        phone.setText(cursor.getString(cursor.getColumnIndex("artist")));
    }
}

我使用SQliteStudio编辑,更新,创建和删除数据库。我该如何解决这个错误?

修改

this is my embed database

1 个答案:

答案 0 :(得分:0)

您应该显示表歌曲的CREATE语句。似乎没有_id行