重新加载Android活动而不完成它

时间:2011-12-17 08:36:37

标签: android reload listactivity

我有一个扩展ListActivity的android活动。每次按下列表项时,活动都应更改其状态(新列表适配器)并重新加载。要在项目单击上执行此操作,我会为列表创建新的ArrayAdapter并进行设置,但不是重置项目列表,而是将新项目添加到旧项目中。如何清除旧列表项并设置新列表项?

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));
}

2 个答案:

答案 0 :(得分:0)

您应该在适配器上使用notifyDataSetChanged(),然后它会自动重新加载列表中的所有项目。

您可以在this Google IO视频

中的17.00及更早版本中找到更多解释

答案 1 :(得分:0)

制作自定义适配器,然后

您可以删除旧项目,在String[] items中添加新项目。

只需将notifyDataSetChanged()拨打给您的适配器......

然后您不必每次都调用新的适配器..