数据库到ListView - 筛选出条目

时间:2011-04-20 17:26:39

标签: android listview simplecursoradapter

我有一个SQLite数据库,我通过SimpleCursorAdapter从数据库中获取ListView。这是现有的代码:

Cursor c = mDatabase.query(
            "database",
            bla = new String[]{
                    "_id",
                    "title",
                    "message",
                    "time",
                    "date",
                    "done"
            },
            null, null, null, null, null);
    startManagingCursor(c);

    SimpleCursorAdapter listAdapter =
            new SimpleCursorAdapter(this,
                    R.layout.list_item, c,
                    new String[]{"title", "message", "time", "date"},
                    new int[]{R.id.txtv_title, R.id.txtv_message, R.id.txtv_time, R.id.txtv_date}
            );
    setListAdapter(listAdapter);

这是按预期工作的,我正在获取我的ListView。 现在我希望如果我的数据库中的“done”字段包含字符串“false”(而不是“true”...),则此行不会进入ListView。

我该怎么做? 提前谢谢!

1 个答案:

答案 0 :(得分:1)

这更像是一个与Android相关的SQL。您正在寻找的是Where子句:

String query = "SELECT _id, title, message, time, date, done "+
"FROM database "+
"WHERE done = 'true' "+
"ORDER BY date";

要将此Query发送到您的SQLite数据库,您可以使用rawQuery() - 方法:

final Cursor c = db.rawQuery(query, null);