小记(1)关于lisview的动态更改数据与notifyDataSetChanged();

来源:互联网 发布:淘宝活动有哪些 编辑:程序博客网 时间:2024/05/04 12:35

首先要明确的一点是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();

}

由于是写给自己看和记录的写得比较乱,如果有不懂可以留言.

0 0
原创粉丝点击