6

您好,我正在使用 ViewPager,但我现在想保留状态,而不是重新生成单元格。

我注意到 viewpager 与 listviews 的自定义适配器非常相似,并且它们的功能相似,其中 listview 在不再出现在屏幕上后重新生成单元格中的数据,viewpager 是相同的方式。

有没有办法做一个viewholder,某种对象在最初加载后保留每个视图的状态,以便viewpager单元加载更快。(每个单元格都有一些处理和渲染,但我会自己测试内存的限制)

这是我的浏览器

4

2 回答 2

8

使用 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.
 */
于 2011-09-24T00:37:52.813 回答
2

膨胀布局后制作布局的 hashMap。如果您已经有相应页面的布局,只需替换 hashMap 中的布局,否则膨胀新布局并将其存储在 hashMap 中。我不能保证您是否可以恢复状态。但它会减少每次用户在页面之间切换时的膨胀时间。

于 2011-09-22T07:11:50.960 回答