刷新ListViews内容的正确方法是什么?

时间:2013-08-16 15:32:27

标签: android android-listview refresh listadapter

我因此而陷入困境......因为每一个问题(我认为)就是这样。

我设置了listview onCreate活动方法&因此我无法刷新LISTVIEW作为仅创建一次的活动。

如果有人找到正确的答案,请指导我..请

1 个答案:

答案 0 :(得分:0)

您可以在ListView的适配器上调用 notifyDataSetChanged(),或者在代码中的其他地方调用ListView的设置新的适配器

请查看此帖子了解具体信息:

  

Android: how to refresh ListView contents?

取自上述帖子:

// 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 = (Button) findViewById(R.id.btn1);
button.setOnClickListener(new View.OnClickListener() {

       public void onClick(View v) {

           refreshListViewContent();
       }
 });