2011-12-17 65 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视频多一些解释