当前位置: 代码迷 >> Android >> Android SimpleAdapter使用List<Map<>>绑定数据,添加数据的有关问题
  详细解决方案

Android SimpleAdapter使用List<Map<>>绑定数据,添加数据的有关问题

热度:42   发布时间:2016-04-28 06:23:48.0
Android SimpleAdapter使用List<Map<?,?>>绑定数据,添加数据的问题。
声明一个本地变量:static List<Map<String,Object>> mylist;


static List<Map<String, Object>> getTheList(){
List<Map<String, Object>> list1 = new ArrayList<Map<String, Object>>();
list1.add(Entity.createEntity(R.drawable.icon, "first", "first"));
list1.add(Entity.createEntity(R.drawable.icon, "second", "second"));

return list;
}

SimpleAdapter mySimple = new SimpleAdapter(this, Entity.mylist, R.layout.listview, from, to);
第一种方法更新数据:
mylist = getTheList();
mySimple.notifyDataSetChanged();

第二种方法更新数据:
mylist.clear();
mylist.addAll(getTheList());
mySimple.notifyDataSetChanged();




两种方法,本人认为没有区别,但是在绑定Adapater的时候有区别,第一种不正常工作。
------解决方案--------------------
第一个不工作正常,只是改变mylist的引用对象。。。。

SimpleAdapter mySimple = new SimpleAdapter(this, Entity.mylist, R.layout.listview, from, to);
第一种方法更新数据:
mylist = getTheList();       改变对象,mySimple内存储的还是new SimpleAdapter时传入的对象
mySimple.notifyDataSetChanged();

第二种方法更新数据:
mylist.clear();
mylist.addAll(getTheList()); 改变的是内容
mySimple.notifyDataSetChanged();
  相关解决方案