我因此而陷入困境......因为每个问题(我认为)都是这样。
我根据它设置了活动和 setAdapter 的 listview onCreate 方法,因此我无法刷新 LISTVIEW,因为 Activity 仅创建一次。
因此,如果有人找到正确的答案,请指导我..请
我因此而陷入困境......因为每个问题(我认为)都是这样。
我根据它设置了活动和 setAdapter 的 listview onCreate 方法,因此我无法刷新 LISTVIEW,因为 Activity 仅创建一次。
因此,如果有人找到正确的答案,请指导我..请
您可以在 ListView 的 Adapter 上调用notifyDataSetChanged() ,或者在代码中的其他位置为 ListView设置一个新的 Adapter。
还请查看此帖子以获取具体信息:
摘自上面的帖子:
// this could be inside your oncreate method:
ListView lv = (ListView) findViewById(R.id.listView1);
lv.setAdapter(defaultAdapter); // the defaultAdapter is the ListAdapter you first added to the listview, its a member-variable
// this will refresh the adapter and therefore refresh the listView
public void refreshListViewContent() {
List<Item> newItems = getNewListViewItems(); // get the new listview items from somewhere
defaultAdapter.clear(); // clear your adapter
defaultAdapter.addAll(newItems); // add the new items
defaultAdapter.notifyDataSetChanged(); // do the actual refresh
}
可以从代码中的任何位置调用方法refreshListViewContent() ,例如,当您单击按钮或类似的东西时:
Button button = (Button) findViewById(R.id.btn1);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
refreshListViewContent();
}
});