我使用列表适配器显示不同的商店,当有人选择商店时,它会将他们带到一个新活动,在那里他们可以将商店添加到该屏幕上的收藏夹。
在调用finish();
上有一个返回按钮,返回到带有列表视图的屏幕。
现在问题是列表视图没有更新(即没有显示商店已经添加到收藏夹中)。我试过这段代码,但没有运气:
@Override
public void onResume() {
super.onResume();
list.setAdapter(null);
updateMyList();
adapter=new LazyAdapter(this, ((String[])names.toArray(new String[0])),
((String[])status.toArray(new String[0])));
list.setAdapter(adapter);
}
updateMyList()
调用服务器API并更新名称和状态数组。
使用此代码,列表并未真正更新......
答案 0 :(得分:31)
您应该只在onCreate()
内设置适配器,在onResume()
内,您只需使用新的数据集调用adapter.notifyDataSetChanged()
。这将使用新的数据集刷新ListView。
答案 1 :(得分:4)
使用此代码:
myList.clear();
myList.add("your array list items");
setListAdapter(adapter);
adapter.notifyDataSetChanged();
我认为这会对你有帮助。
...谢谢
答案 2 :(得分:0)
在将新视图添加到listView之前删除所有以前的视图
listView.removeAllViews();
然后使用新值添加适配器类。有一点可以确保在从第二个活动返回时更新您的值,并且此代码正在调用。