我有一个扩展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));
}
答案 0 :(得分:0)
您应该在适配器上使用notifyDataSetChanged(),然后它会自动重新加载列表中的所有项目。
您可以在this Google IO视频
中的17.00及更早版本中找到更多解释答案 1 :(得分:0)
制作自定义适配器,然后
您可以删除旧项目,在String[] items
中添加新项目。
只需将notifyDataSetChanged()
拨打给您的适配器......
然后您不必每次都调用新的适配器..