Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在使用ListView和SimpleCorsorAdaptor显示行值之前,如何修改行值?_Android_Sqlite_Listview - Fatal编程技术网

Android 在使用ListView和SimpleCorsorAdaptor显示行值之前,如何修改行值?

Android 在使用ListView和SimpleCorsorAdaptor显示行值之前,如何修改行值?,android,sqlite,listview,Android,Sqlite,Listview,我使用SimpleCursorAdaptor和ListView来显示SQLite数据库行中的值。我行中的一个值是日期列“date”。我不需要显示这个日期,而是需要通过一个方法运行它,该方法将根据日期返回另一个字符串。这是我希望在列表中显示的值,而不是直接从数据库中获取的实际值 简言之,我希望显示数据库表行中的所有值,除了一个值,在显示之前需要对其进行更改 这是我的密码: public class BinCollectionDayListActivity extends ListActivity{

我使用SimpleCursorAdaptor和ListView来显示SQLite数据库行中的值。我行中的一个值是日期列“date”。我不需要显示这个日期,而是需要通过一个方法运行它,该方法将根据日期返回另一个字符串。这是我希望在列表中显示的值,而不是直接从数据库中获取的实际值

简言之,我希望显示数据库表行中的所有值,除了一个值,在显示之前需要对其进行更改

这是我的密码:

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。。。;