不推荐使用解析setListAdapter和SimpleCursorAdapter

时间:2016-08-08 22:21:55

标签: android

我正在构建一个用户sqldb保存数据的待办事项列表Android应用,并Listview显示它们。我能够保存输入但无法显示它们。不推荐使用setListAdapterSimpleCursorAdapter这可能是一个原因。

public void updateUI() {

    ListView listview = (ListView)findViewById(R.id.list_todo) ;
    Cursor cursor;
    cursor = getContentResolver().query(Uri.parse(TaskContract.TaskEntry.TABLE),
            new String[]{TaskContract.TaskEntry.COL_TASK_TITLE,
            TaskContract.TaskEntry.COL_TASK_TIME,
            TaskContract.TaskEntry.COL_TASK_DATE},null,null,null);
    startManagingCursor(cursor);

    String[] columns = new String[]{TaskContract.TaskEntry.COL_TASK_TITLE, TaskContract.TaskEntry.COL_TASK_DATE, TaskContract.TaskEntry.COL_TASK_TIME};
    int [] id_column = new int[]{ R.id.task_title, R.id.task_date, R.id.task_time};

    SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this, R.layout.item_todo, cursor, columns, id_column);
    listview.setAdapter(mAdapter);
}

1 个答案:

答案 0 :(得分:2)

  

setListAdapter和SimpleCursorAdapter已被删除

setListAdapter()未被弃用。

不推荐使用您正在使用的特定SimpleCursorAdapter构造函数。变化:

SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this, R.layout.item_todo, cursor, columns, id_column);

为:

SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this, R.layout.item_todo, cursor, columns, id_column, 0);

startManagingCursor()已弃用五年。我不知道你用于书籍或培训,但它们太旧了。获取2014年或更新版本的内容。

托管游标(startManagingCursor()等)已被CursorLoader and the loader framework取代。