我正在用光标适配器填充列表视图,如下所述:
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;
}
};