Android 在使用ListView和SimpleCorsorAdaptor显示行值之前,如何修改行值?
我使用SimpleCursorAdaptor和ListView来显示SQLite数据库行中的值。我行中的一个值是日期列“date”。我不需要显示这个日期,而是需要通过一个方法运行它,该方法将根据日期返回另一个字符串。这是我希望在列表中显示的值,而不是直接从数据库中获取的实际值 简言之,我希望显示数据库表行中的所有值,除了一个值,在显示之前需要对其进行更改 这是我的密码:Android 在使用ListView和SimpleCorsorAdaptor显示行值之前,如何修改行值?,android,sqlite,listview,Android,Sqlite,Listview,我使用SimpleCursorAdaptor和ListView来显示SQLite数据库行中的值。我行中的一个值是日期列“date”。我不需要显示这个日期,而是需要通过一个方法运行它,该方法将根据日期返回另一个字符串。这是我希望在列表中显示的值,而不是直接从数据库中获取的实际值 简言之,我希望显示数据库表行中的所有值,除了一个值,在显示之前需要对其进行更改 这是我的密码: public class BinCollectionDayListActivity extends ListActivity{
public class BinCollectionDayListActivity extends ListActivity{
//
private static final String fields[] = { "name", "date", BaseColumns._ID };
//
public void onCreate(Bundle savedInstanceState) {
//
super.onCreate(savedInstanceState);
//
DatabaseHelper helper = new DatabaseHelper(this);
SQLiteDatabase database = helper.getWritableDatabase();
Cursor data = database.query("names", fields, null, null, null, null, null);
CursorAdapter dataSource = new SimpleCursorAdapter(this, R.layout.binrow, data, fields, new int[] { R.id.name, R.id.date });
dataSource.getCursor().requery();
//
ListView view = getListView();
view.setHeaderDividersEnabled(true);
setListAdapter(dataSource);
//
helper.close();
database.close();
}
}
正如你所说,我对Android开发还很陌生,我很想知道实现预期结果的最佳方法是什么
提前感谢,
Tony我以前使用过两个选项: 首选阵列适配器: 创建ArrayAdapter并将光标数据填充到ArrayAdapter中。 ViewBinder:在光标上,您可以设置/指定一个ViewBinder,从中可以检查即将映射的数据,对其执行一些逻辑,并根据需要输出不同的结果。这可能正是你正在寻找的,但是考虑一下ARAYAdvor,因为它会给你更好的控制,而以后切换这些东西是一件痛苦的事情。
而不是直接使用SimpleCorsorAdapter。构造单独的数组并将值填充到该数组中,并将该数组作为参数传递给setListAdapter。。。;