在快递查中有一个历史记录的列表,针对这个列表有同步跟踪记录、修改、删除等操作,那就避免不了这对这个列表的数据刷新。
每次重新获得数据后,就setAdapter(),这样,列表就回到了顶端,用户体验极差,理想状态是,列表位置不动,只更新数据。解决方案是利用Adapter的notifyDataSetChanged,通知Adapter数据已经更改,然后Adapter会调用getView()方法,重新显示界面。
注意的一点是如果Adapter是自定义的,那么数据要是全局的或者是在自定义Adapter中不能是私有的,因为要重新设置数据,
public class HistoryListViewAdapter extends BaseAdapter {