您的位置:首页 > 其它

关于listview适配器,记录而已

2015-06-17 17:26 246 查看
成员变量如下:

[code]private ListView mListView;
private ArrayList<ShopCartPo> mGoods;
private ShoppingCartAdapter mAdapter;

mListView = (ListView) this.findViewById(R.id.id_lv_shopping_cart);
mGoods = new ArrayList<ShopCartPo>();
mAdapter = new ShoppingCartAdapter(this, mGoods, R.layout.shoppingcart_item);


错误赋值:

[code]mGoods = gson.fromJson(response, listType);//此处解析返回的是一个ArrayList对象
mAdapter.notifyDataSetChanged();


原因:因为notifyDataSetChanged()更新的是原数据对象,此处相当于重新给mGoods一个地址,也就是说

mAdapter = new ShoppingCartAdapter(this, mGoods, R.layout.shoppingcart_item);里面的mGoods是没有改变的,依然是空。

正确做法:

[code]mGoods.addAll((ArrayList<ShopCartPo>) gson.fromJson(response, listType));
mAdapter.notifyDataSetChanged();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: