执行下面代码不会刷新ListView
mListData.clear();
mListData = get_ListData();
adapter.notifyDataSetChanged();
原因分析
mListData在执行上述代码前指向的地址是A,
语句mListData = get_ListData()使得mListData指向了新的存储数据的地址B,
但adapter的成员变量仍然指向mListData原来的地址A,
所以notifyDataSetChange()自然就不会得到地址B新的数据,而是得到空数据,
因为A地址的内容被mListData.clear()清空了。
解决办法
mListData.clear();
mListData.addAll(get_ListData());
adapter.notifyDataSetChanged();