【问题标题】:Android Viewholder for ViewPagerViewPager 的 Android Viewholder
【发布时间】:2011-09-16 21:24:22
【问题描述】:
您好,我正在使用 ViewPager,但我现在想保留状态,而不是重新生成单元格。
我注意到 viewpager 与列表视图的自定义适配器非常相似,并且它们的功能相似,其中列表视图在不再显示在屏幕上后重新生成单元格中的数据,viewpager 是相同的方式。
有没有办法做一个viewholder,一种在最初加载后保留每个视图状态的对象,以便viewpager单元加载更快。 (每个单元格都有一些处理和渲染,但我会自己测试内存的限制)
here is my viewpager
【问题讨论】:
标签:
android
view
state
retain
android-viewpager
【解决方案1】:
使用 FragmentPagerAdapter,它将所有已主动创建的 Fragment 对象保存在内存中:
/**
* Implementation of {@link android.support.v4.view.PagerAdapter} that
* represents each page as a {@link Fragment} that is persistently
* kept in the fragment manager as long as the user can return to the page.
*/
【解决方案2】:
在对布局进行膨胀后制作布局的 hashMap。如果您已经有相应页面的布局,只需从 hashMap 替换布局,否则膨胀新布局并将其存储在 hashMap 中。我不能保证您是否可以恢复状态。但它会减少每次用户在页面之间切换时的膨胀时间。