2016-11-16 5 views
0

主な活動データはarrayAdapter.notifyDataSetChangedを(呼び出しにリストビューで更新されません)

task_list = (ListView) findViewById(R.id.task_list); 
    elements = dbHelper.getTasks(); 
    arrayAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, elements); 
    task_list.setAdapter(arrayAdapter); 
    arrayAdapter.notifyDataSetChanged(); 

    dbHelper.addTasks(tasks.getText().toString()); 

データはデータベースからの配列リストに達したが、リストビュー に更新されていませんの位置のいずれかの問題がありますデータの変更を通知する。

+0

は.... 'Adapter.notifyDataSetChanged'は、現在のコードもあなたのようにnotifyDataSetChangedコールを必要としない自動的 – Selvin

+0

(あなたはこれで意味何でも)必ず「更新」になります魔法の杖ではありませんアダプタを真上に設定してください。このメソッドは、データセットが変更された時点で呼び出す必要があります。あなたのコードから、私はあなたがタスクを追加した後にそれを変更することを理解します。この場合、arrayAdapter.notifyDataSetChanged();を移動します。下のdbHelper.addTasks(tasks.getText()。toString()); – Laura

+0

* move arrayAdapter.notifyDataSetChanged(); * **明らかにthis **(notifyDataSetChangedは魔法の杖ではないため)**は助けにならない** ...彼が基礎データを最初に更新しない限り – Selvin

答えて

0

arrayAdapter.notifyDataSetChanged()を呼び出す必要があります。タスクを追加して要素配列を更新した後再び

dbHelper.addTasks(tasks.getText().toString()); 
elements=dbHelper.getTasks(); 
arrayAdapter.notifyDataSetChanged(); 
関連する問題