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的使用步骤

Android listview item中使用TextWatcher

Android开发学习记录--ListView使用

Android:在 ListView 中移动项目的窗口?

我在 android 版本 4.3 中为 listview 跨应用程序使用 listview 添加/删除页脚?

如何使用json解析android在listview中获取图像