android ListView中使用notifyDataSetChanged()不刷新

历览千载书,时时见遗烈。这篇文章主要讲述android ListView中使用notifyDataSetChanged()不刷新相关的知识,希望能为你提供帮助。
private List< Navi> mRouteList;
1. 设置Adapter

private void initData() { mRouteList = new ArrayList< Route> (); mRouteList.clear(); mAdapter = new CarRouteAdapter(getActivity(), mRouteList); mListView.setAdapter(mAdapter); }

2. 获取数据,刷新listview
 
private void updateRoutes(List< MtqCarRoute> listOfResult) {
mRouteList.clear(); mRouteList = CarUtils.formatNaviRoutes(listOfResult); mAdapter.notifyDataSetChanged();
}

发现这样做,listview的数据已经发生变化,但是就是没有更新。
解决如下:
private void updateRoutes(List< MtqCarRoute> listOfResult) { mRouteList.clear(); // mRouteList = CarUtils.formatNaviRoutes(listOfResult); mRouteList.addAll(CarUtils.formatNaviRoutes(listOfResult)); mAdapter.notifyDataSetChanged(); }

【android ListView中使用notifyDataSetChanged()不刷新】 




    推荐阅读