我有一个ViewPager
,我希望在保留Activity
后保存当前状态。我的一个选择是将当前变量值保存在我已经拥有的数据库中,并在重新创建活动时将其读回。然而,这种解决方案似乎过度劳累。还有另一种更好的方法来恢复ViewPagwer
的最后状态吗?我可以使用ViewPager
适配器的这两种方法吗?
@Override
public void restoreState(Parcelable arg0, ClassLoader arg1) {}
@Override
public Parcelable saveState() {
return null;
}
如果是这样,请提供使用它的简单示例。感谢。
答案 0 :(得分:0)
这实际上取决于您要保存的数据类型。如果是某些私有字段,如果数据更复杂,您可以使用这两种方法和Parcelable。通常不需要为此目的使用DB,如果从Internet或其他地方捕获数据并且想要保存/恢复它而不是在销毁活动后再次重新加载,则使用DB作为缓存,但这是不同的问题。因此,要从Internet下载所有需要的数据后立即使用app的DB和files文件夹来缓存数据,然后使用AsyncTaskLoader从DB加载它,然后使用PagerAdapter在ViewPager上表示它。