2011-12-17 66 views
0

我有一個擴展了ListActivity的android活動。每次按下列表項時,活動都應該改變其狀態(新列表適配器)並重新加載。要做到這一點項目單擊我創建新的ArrayAdapter列表並設置它,但不是重置項目列表新項目只是附加到舊的。我如何擦除舊的列表項並設置新的項?無需完成即可重新加載android活動

private void update() { 
    if (flag == null) { 
     //do nothing 
    } else { 
     list_items = new Vector(); 
     list_items.addAll(getNewListItems()); 
    } 
    String[] items = new String[list_items.size()]; 
    for (int i=0; i<list_items.size(); i++) 
     items[i] = list_items.get(i).toString(); 
    setListAdapter(new ArrayAdapter<String>(this, R.layout.menu_layout, R.id.label, items)); 
} 
+0

發佈您的代碼,請 – 2011-12-17 08:48:17

+0

你就不能使用adapter.notifyDataSetChanged( ) – MKJParekh 2011-12-17 08:54:08

回答

0

做一個自定義適配器,然後

你可以僅僅刪除舊項目在String[] items添加新的項目。

並調用notifyDataSetChanged()到您的適配器...

然後,你不必調用每一次新的適配器..

0

您應該在適配器上使用notifyDataSetChanged(),然後它會自動重新加載列表中的所有項目。

你可以找到從17.00以及在this谷歌IO視頻多一些解釋