在Android的listview中已经正确显示所有数据,输入条件点击查询按钮,如何刷新listview并只显示查询的数据

在Android的listview中已经正确显示所有数据,输入条件点击查询按钮,怎么刷新listview并只显示查询的数据
List<HashMap<String, Object>> data = new ArrayList<HashMap<String, Object>>();
for (PeopleData person : persons) {
HashMap<String, Object> item = new HashMap<String, Object>();
item.put("CR_BH", person.getCR_BH());
item.put("CR_XM", person.getCR_XM());
item.put("xb", person.getXb());
// item.put("CR_CSRQ", person.getCR_CSRQ());
item.put("DB", person.getDB());
data.add(item);
// System.out.println("item:"+item);
}
adapter = new SimpleAdapter(getApplicationContext(), data,
R.layout.datalist, new String[] { "CR_BH", "CR_XM", "xb",
"DB" }, new int[] { R.id.bianhao, R.id.name,
R.id.CR_XB, R.id.DB });
System.out.println("adapter:" + adapter);
handler.post(setadapter);



求高手解答
------解决思路----------------------
data.clear();清理原来的数据,然后把查询出来的新的数据add到data中,最后调用adapter.notifyDataSetChanged();刷新数据显示
------解决思路----------------------
数据重新绑定到适配器。