2014-09-22 2 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); 

Изменить списокView2 [1] на "zzz".java listview change Содержание

Следующий код не работает.

listView2[1] = "zzz"; 
+0

вы назвали 'listAdapter.notifydatasetchanged()' после обновления? – Raghunandan

ответ

0

вы можете обновить адаптер, как это:

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

Две проблемы с этим ответом 1) Вопрос был об изменении одного элемента, а не добавлении 2) использование методов адаптера (по умолчанию) не требует вызова notifyDataSetChanged() –

+0

@Mattias спасибо :) Я пропустил его. – Rustam

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(); 
Смежные вопросы