2014-09-22 21 views
2
private String[] listView2 = {"aa","bb","cc","dd","ee"}; 

listView1 = (ListView)findViewById(R.id.listView1); 
listAdapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,listView2); 
listView1.setAdapter(listAdapter); 

將listView2 [1]更改爲「zzz」。java listview change內容

以下代碼不起作用。

listView2[1] = "zzz"; 
+0

你叫'listAdapter.notifydatasetchanged()'更新後? – Raghunandan 2014-09-22 11:30:14

回答

0

你可以這樣更新適配器:

adapter.insert("zz", 1); 
    adapter.notifyDataSetChanged(); 
+1

這個答案的兩個問題1)問題是關於改變一個項目,而不是添加2)使用適配器方法不(默認情況下)需要調用notifyDataSetChanged() – 2014-09-22 11:35:00

+0

@Mattias謝謝:)我錯過了它。 – Rustam 2014-09-22 11:38:48

1

,你還需要調用

listAdapter.notifyDataSetChanged(); 

或使用listAdpater方法之一更改數據:

add(T), insert(T, int), remove(T), clear() 
0

試試這個。^ _^

public void newListView(){ 
    listAdapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,listView2); 
    listView1.setAdapter(listAdapter); 
} 

listView2[0] = "zz"; 
newListView();