Android Simple Cursor适配器和Cursor

时间:2016-08-07 11:01:31

标签: android cursor simplecursoradapter android-cursor simplecursortreeadapter

我构建了一个应用程序,它接受具有不同属性的数据,将它们添加到数据库中,然后通过ListView显示它。

我已经完成了添加数据的部分,但我无法弄清楚如何从数据库中获取它(现在我只想要名称)并在ListView中填充它。

这是数据库类中的部分。

public Cursor getCursor() {
    Cursor c = null;
    sqLiteDatabase = this.getReadableDatabase();
    String query = "SELECT * FROM tbl_customer";
    String where = null;
    c = sqLiteDatabase.query("tbl_customer", new String[]{"Name"}, where, null, null, null, null);
    if (c != null) {
        c.moveToFirst();

    }
    return c;
}

这是活动中代码的一部分,我想在其中显示ListView。

private void populateListView(){
    Cursor cursor = db.getCursor();
   String []From = new String[]{"Name"};

    int [] to = new int[R.id.textView];

    SimpleCursorAdapter adapter;
    adapter = new SimpleCursorAdapter(this,R.layout.listview_items,cursor,From,to,0);

    ListView listView = (ListView)findViewById(R.id.ShowDataListView);
    listView.setAdapter(adapter);
}

请指导我,我出错的地方,并纠正我。

3 个答案:

答案 0 :(得分:1)

您使用R.id.textView作为数组的大小

int [] to = new int[R.id.textView];

应该是这样的

int [] to = new int[]{R.id.textView};

答案 1 :(得分:0)

如果你需要一个关于如何创建列表并从sqlite数据库中获取它的完整教程,这里是从头开始的教程http://www.androidhive.info/2011/11/android-sqlite-database-tutorial/

答案 2 :(得分:0)

您需要指定SimpleCursorAdapter的./libs/plotly/plotly-latest.min.jsFrom参数。

To

对于adapter = new SimpleCursorAdapter(this,R.layout.listview_items,cursor, new String[] { "Name" },to,0); ,您需要从to中添加textview的ID。假设您的TextView的id为R.layout.listview_items,那么适配器将如下所示,

R.id.text1

在这里,请查看documentation以更清楚地掌握它。