android ListView中使用notifyDataSetChanged()不刷新
Posted zhaoqingyue
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()不刷新的主要内容,如果未能解决你的问题,请参考以下文章
Android listview item中使用TextWatcher