Android:在ListView中将整数读取为字符串

时间:2014-04-04 02:08:00

标签: java android sqlite listview android-listview

我目前有一个包含从sqlite数据库填充的listView的应用程序。 ListView包含每个项目的两个文本视图,一个用于名称,另一个用于状态。状态显示为0或1,如true或false。我想将包含数字0或1的每个项目作为显示打开或关闭的状态。

列表视图的

方法:

// Return all data in the database.
    public Cursor getAllRows() {
        String where = null;
        Cursor c = ourDatabase.query(true, DATABASE_TABLE, ALL_KEYS, where,
                null, null, null, null, null);
        if (c != null) {
            c.moveToFirst();
        }
        return c;
    }

    // also added
    // Get a specific row (by rowId)
    public Cursor getRow(long rowId) {
        String where = KEY_ROWID + "=" + rowId;
        Cursor c = ourDatabase.query(true, DATABASE_TABLE, ALL_KEYS, where,
                null, null, null, null, null);
        if (c != null) {
            c.moveToFirst();
        }
        return c;
    }

这是我的listView代码:

private void loadListView() {
    // TODO Auto-generated method stub
    Locker getList = new Locker(this);
    getList.open();
    Cursor cursor = getList.getAllRows();
    startManagingCursor(cursor);
    // setup mapping
    String[] fromFieldNames = new String[] { getList.KEY_LOCKERNUMBER,
            getList.KEY_STATUS };

    int[] toViewIDs = new int[] { R.id.tvLockerNumber, R.id.tvSatus };

    // create adapter
    SimpleCursorAdapter myCursorAdapter = new SimpleCursorAdapter(this,
            R.layout.itemlayout, cursor, fromFieldNames, toViewIDs);

    // set the adapter
    ListView myList = (ListView) findViewById(R.id.lvInfo);
    myList.setAdapter(myCursorAdapter);
}

我该怎么做呢?

1 个答案:

答案 0 :(得分:1)

您必须实现myCursorAdapter的setViewValue方法,以便在1或0时将textview设置为Open或Close。

看看this answer的例外情况。另外,请查看developer's guide了解更多详情。