2016-11-16 17 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'是沒有魔杖這將是永遠的「更新」(不管你的意思了)自動 – Selvin

+0

當前的代碼甚至不需要一個notifyDataSetChanged呼叫你在上面設置適配器。應在您的數據集發生變化時調用此方法。從你的代碼中,我明白你在添加任務後改變了它。在這種情況下,移動arrayAdapter.notifyDataSetChanged();下面是dbHelper.addTasks(tasks.getText()。toString()); – Laura

+0

* move arrayAdapter.notifyDataSetChanged();下面是dbHelper.addTasks(tasks.getText()。toString()); * **顯然這個**(因爲不是一個notifyDataSetChanged一個魔杖)**不會幫助** ...除非他先更新底層數據 – Selvin

回答

0

您需要調用arrayAdapter.notifyDataSetChanged();在添加任務之後並且還更新元素數組。

dbHelper.addTasks(tasks.getText().toString()); 
elements=dbHelper.getTasks(); 
arrayAdapter.notifyDataSetChanged();