首先要明确的一点是notifyDataSetChanged()只能作用于源数据list更改才能起效。因此必须作用于list对象。
private List<Map<String, Object>> EAMlist() {
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();
map.put("t1","1");
map.put("t2","2");
list.add(map);
return list;
}
在oncreat()中输入
List=(ListView)findViewById(R.id.listView);
EAM=EAMlist();//赋值给list
EAMadapter=new Myadapter(contentActivity,EAM);
//如果是EAMadapter=new Myadapter(contentActivity,EAMlist());则因为调用的是方法而使用EAMlist().set(index,str)是无法更新数据源的
//EAMadapter=new Myadapter(contentActivity,EAM);
EAMList.setAdapter(EAMadapter);
onclick{
Map<String, Object>map=EAM.get(0);
map.put("t1", "3");//
EAMadapter.notifyDataSetChanged();
}
由于是写给自己看和记录的写得比较乱,如果有不懂可以留言.