如何通过SimpleCursorAdapter将额外的文本附加到ListView?

时间:2013-07-24 22:05:43

标签: android sql listview simplecursoradapter

我有这段代码:

String[] columns = new String[] { 
    MySQLiteHelper.COL_EXAMS_DESC,
    MySQLiteHelper.COL_EXAMS_MRK_TEMP,
    MySQLiteHelper.COL_EXAMS_MRK,
    MySQLiteHelper.COL_EXAMS_CFU};

int[] to = new int[] { 
    R.id.exam_description, 
    R.id.exam_subtitle,
    R.id.exam_mark, 
    R.id.exam_cfu};

dataAdapter = new SimpleCursorAdapter(getApplicationContext(),
    R.layout.single_exam_info, cursor, columns, to, 0);

ListView listView = (ListView) findViewById(R.id.lv_exams);
listView.setAdapter(dataAdapter);

现在,MySQLiteHelper.COL_EXAMS_MRK_TEMP是一个特殊字段,有时是空的,有时则不是。当它显示时(所以当它不是空的时候),我想为它添加某种标签。我该怎么办?

在这种情况下,

CursorWrapper看起来不太好:我不必过滤结果,我只需要在其中一个结果中添加一个String,有时我不会。 添加 ad-hoc TextView也不行:我怎么知道何时填充它?

我想知道是否有选项可以手动构建ListView,迭代游标并在每个周期中检查文件是否为空......

1 个答案:

答案 0 :(得分:0)

我最终扩展了SimpleCursorAdapter,覆盖了newView()和bindView()。这是唯一且最简单的方法。