如何使用光标从数据库中提取数据,以便在listView中使用,而不必在ListView的列中显示该数据



我正在用光标适配器填充列表视图,如下所述:

DatabaseHelper databaseHelper = new DatabaseHelper(getActivity());
Cursor cursor = databaseHelper.getPeople();
String[] fromColumns = {"_id","firstname","lastname","email"};
int[] toViews = {R.id.count, R.id.firstname, R.id.lastname, R.id.email};
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.person_name_and_email, cursor, fromColumns, toViews, 0);
ListView listView = getListView();
listView.setAdapter(adapter);

我的数据库表中还有另一列,称为"状态",这是该人是否是"朋友","家庭","商业伙伴",等等。

我将使用此列的内容来确定人行的颜色;如果该人是朋友,则该行将是绿色的,如果该人是家庭,则该行是蓝色的,等等。

所以,我不希望"状态"数据以列显示在列表视图中,但是我需要每行我迭代。

有办法做到这一点吗?

谢谢!

尝试覆盖getView()方法

SimpleCursorAdapter notes = new SimpleCursorAdapter(this, layout,     cursor, fromColumns, toViews, 0);
{
    @Override
    public View getView(int position, View convertView, ViewGroup parent)
    {
        cursor.moveToPosition(position);
        String s = cursor.getString(cursor.getColumnIndex(“status"));
        final View row = super.getView(position, convertView, parent);
        if (s.equalsIgnoreCase(“friend"))
            row.setBackgroundColor();
        return row;
    }
};       

相关内容

最新更新