我将数据从游标绑定到列表,如下所示;
db.open();
Cursor c = db.getAllRowsCursor();
c.moveToFirst();
SimpleCursorAdapter adapter = new SimpleCursorAdapter(
this, // Context.
R.layout.custom_row_view,
c,
new String[] {"name", "distance", "time"},
new int[] {R.id.text1, R.id.text2, R.id.text3});
setListAdapter(adapter);
db.close();
这样可以正常工作,但它只显示数据。添加标题数据的最佳方法是什么?
例如,我希望列表读取
Name: <name data>
Distance: <distance data>
Time: <time data>
而不仅仅是;
<name data>
<distance data>
<time data>
我希望清楚我在这里想要实现的目标。
感谢。
答案 0 :(得分:1)
您可以扩展SimpleCursorAdapter并覆盖方法bindView (View view, Context context, Cursor cursor)
此处view
- 是您的R.layout.custom_row_view
。
光标 - 已经移动到正确位置的光标
您需要从光标手动获取字符串,从视图中获取TextViews,添加标题并将正确的文本设置为TextViews
public void bindView(View view, Context context, Cursor cursor){
String s = cursor.getString(cursor.getColumnIndex("name"));
s = "Name:" + s;
TextView tv = (TextView)view.findViewById(R.id.text1);
tv.setText(s);
}