首先描述一下项目需求:新闻列表页面,一个viewpager里面包含多个Fragment新闻列表页面。Fragment页面可以下拉刷新,拉到底部可以loadmore更多数据。 异步加载数据之前使用的是AsyncTaskLoader,也许是因为对其理解不深的原因。当loadmore的时候,这个loader中保存的是最新的那部分数据。而不是整个列表的数据。所以当viewpager来回切换的时候,列表中只剩下最新的数据了。 现在使用的是AsyncTask。在loadmore事件中的代码:
在Fragment中有个属性是
这个是用来保存这个页面所有数据的,只要Fragment存在,这个数据就会存在。 另一个需要解决的问题是在Fragment生命周期中有一个onActivityCreated(savedInstanceState)方法。在这个方法中需要写第一次启动的时候异步加载的数据。以后每次重建Fragment的时候并不需要再次启动。所以需要判断是不是第一次启动Fragment。 解决方法是:设置一个变量来判断是否第一次创建Fragment |
|