我在列表视图中有一个页脚视图,其中包含一个“搜索”按钮,当我点击“搜索”按钮时,我想删除以前的数据并显示新的数据。我从Web服务获取数据并使用Async Task显示列表。 目前我无法删除以前的数据,当我点击“搜索”添加到同一列表中的数据时,它会显示旧的和新的两个数据。
如何刷新列表视图。任何形式的帮助将不胜感激。
这是我的代码:
MySimpleAdapter adapter = new MySimpleAdapter(HSLoc_tabActivity.this, data , R.layout.list_main,
new String[] { "name", "distance" ,"address"},
new int[] { R.id.item_title, R.id.item_subtitle ,R.id.item_subtitle1 });
//modeList.setAdapter(adapter);
//adapter.clear();
adapter.notifyDataSetChanged();
listView.setAdapter(adapter);
listView.invalidate();
谢谢!
答案 0 :(得分:0)
首先在搜索按钮的click()中清除'data'(String [] 0r ArrayList []),然后将新信息添加到数据(String [] 0r ArrayList [])中,然后调用adapter的notifyDataSetChanged()。 强>
仅举例:
searchBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
data.clear(); // I m assuming this is ArrayList..
// code for getting info from web and add it to data list.
adapter.notifyDataSetChanged();
}
});
答案 1 :(得分:0)
在添加新项目之前尝试此操作:
adapter.clear();
答案 2 :(得分:0)
我已经编辑了你的代码。执行以下操作。
MySimpleAdapter adapter = new MySimpleAdapter(HSLoc_tabActivity.this, data,
R.layout.list_main,
new String[] { "name", "distance" ,"address"},
new int[] { R.id.item_title, R.id.item_subtitle ,R.id.item_subtitle1 });
adapter.notifyDataSetChanged();
listView.invalidateViews();
listView.setAdapter(adapter);