2012-09-06 27 views
3

我有一个ViewPager,我希望保存当前状态一旦离开Activity。我的一个选择是将当前变量值保存在我已有的数据库中,并在重新创建活动时将其读回。然而,这个解决方案似乎是过度劳累。是否有另一种更好的方法来恢复ViewPagwer的最后状态?我可以使用ViewPager适配器的这两种方法吗?保存PagerAdapter的当前状态

@Override 
public void restoreState(Parcelable arg0, ClassLoader arg1) {} 

@Override 
public Parcelable saveState() { 
    return null; 
} 

如果是这样,请提供使用它的简单示例。谢谢。

回答

0

这实际上取决于你想保存什么样的数据。如果它是一些私有字段,那么如果数据更复杂,则可以使用这两种方法和Parcelable。通常使用DB为此目的,它不是必需的,使用DB作为高速缓存,如果你从网上抓到的数据或其他地方,并要保存/恢复它不破坏活动后,再次重装,但它是不同的问题。因此,缓存数据,你需要使用的应用程序的数据库和文件的文件夹下载从互联网上所有需要的数据之后,再使用AsyncTaskLoader从数据库加载它,然后使用PagerAdapter来代表它ViewPager。

+0

感谢您的答复。在每一页我显示根据已采取行动改变不同的内容。它在文本视图和不同背景上大都是不同的文本。我怎样才能显示这个特定页面这个特殊的内容,并设置寻呼机我已经离开了位置,活动后重现? –

+0

在片段或者你有ViewPager活动,你可以用和的onSaveInstanceState对onRestoreInstanceState获取和保存,然后恢复用户界面的任何临时值,比如位置。 –

+0

好的。那我提到过的那两种方法呢?它们在ViewPager的PagerAdapter中。 –