2012-05-19 42 views
0

我在本示例中使用了部分標題的列表視圖。刷新列表視圖與部分標題

http://eshyu.wordpress.com/2010/08/15/cursoradapter-with-alphabet-indexed-section-headers/

的問題是,如果我刪除或添加項目,款款都是錯誤的。這些部分似乎是在適配器的構造函數中設置的,所以似乎無法在不創建新適配器的情況下刷新這些部分。有什麼辦法來重新創建節頭正確而無需創建一個新的適配器

感謝

回答

1

您不必創建一個新的適配器更新您的ListView的內容。只需將適配器存放在一個字段,用下面的代碼更新列表:

mAdapter.setList(yourNewList); 
mAdapter.notifyDataSetChanged(); 

要澄清的是,你的活動應該看起來像:

private YourAdapter mAdapter; 

protected void onCreate(...) { 

    ... 

    mAdapter = new YourAdapter(this); 
    setListAdapter(mAdapter); 

    updateData(); 
} 

private void updateData() { 
    List<Data> newData = getYourNewData(); 
    mAdapter.setList(yourNewList); 
    mAdapter.notifyDataSetChanged(); 
} 
+0

是這種想法的作品感謝 – tech74

+0

我也有同樣的問題在http://ngo-hung.com/blog/2012/11/18/ios-contact-listview-for-android你可以給我suggetion我怎麼能解決像這樣的問題。 – Ram