强制调用ViewPager instantiateItem

时间:2017-01-13 15:23:04

标签: android android-viewpager

我有一个包含ViewPager的视图,其可见性在启动时设置为GONE。通过在寻呼机instantiateItem方法上引入打印,我注意到只有在寻呼机设置为VISIBLE时才会调用此方法。

由于实例化似乎有点沉重,因此用户能够注意到轻微的撞击声。当必须首次显示寻呼机时(即调用实例化方法时)。

但是,在应用启动时,有加载屏幕(建立连接等),我希望能够在加载屏幕运行时进行寻呼机呼叫instantiateItem(但不显示视图用户)。

我怎样才能做到这一点?

谢谢!

1 个答案:

答案 0 :(得分:0)

这是优化的原因,因为如果用户可能没有看到它们,就没有理由实例化项目。

如果instantiateItem是一个如此漫长的过程,那么您可以自己在适配器上调用它并缓存实例化的项目。如果您没有那么多物品,这是可以的。

否则,您必须让ViewPager认为它是可见的。您可以将其隐藏在视图后面,而不是设置它的可见性,然后在所有内容准备就绪时使视图消失。只需确保您在视图上捕获触摸事件,这样它们就不会传递给ViewPager。