2016-08-08 9 views
0

データを保存するユーザーsqldbと表示するListviewのtodoリストアンドロイド・アプリを作成しています。入力を保存できますが、表示できません。 setListAdapterSimpleCursorAdapterは推奨されなくなりました。解決されたsetListAdapterとSimpleCursorAdapterの解決

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); 
} 
+2

アダプタは推奨されていません。使用しているコンストラクタは推奨されていません。フラグを含める必要があります。 https://developer.android.com/reference/android/widget/CursorAdapter.html#CursorAdapter(android.content.Context、android.database.Cursor、int) – DeeV

+0

申し訳ありませんが、わかりません。エチケットを編集して表示してください。 –

+0

編集は不要です。 SimpleCursorAdapterには2つのコンストラクタがあります。 2番目のパラメータには、CursorAdapterクラスで定義されている「フラグ」パラメータである余分なパラメータがあります。この質問で使用しているものは、推奨されていない最初のコンストラクタを使用しています。 – DeeV

答えて

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()5年以上で廃止しました。私はあなたが本や訓練のために何を使用しているのか分かりませんが、ずっと古すぎます。 2014年以降に書かれたものを入手してください。

管理されたカーソル(startManagingCursor()など)はCursorLoader and the loader frameworkに置き換えられました。

+0

私はAndroidにはとても新しいので、あまり知られていません。適切な変更を行い、CursorLoaderとローダーフレームワークを使用する方法を教えてください。 –

関連する問題