我有一个包含ViewPager的视图,其可见性在启动时设置为GONE
。通过在寻呼机instantiateItem
方法上引入打印,我注意到只有在寻呼机设置为VISIBLE
时才会调用此方法。
由于实例化似乎有点沉重,因此用户能够注意到轻微的撞击声。当必须首次显示寻呼机时(即调用实例化方法时)。
但是,在应用启动时,有加载屏幕(建立连接等),我希望能够在加载屏幕运行时进行寻呼机呼叫instantiateItem
(但不显示视图用户)。
我怎样才能做到这一点?
谢谢!
答案 0 :(得分:0)
这是优化的原因,因为如果用户可能没有看到它们,就没有理由实例化项目。
如果instantiateItem
是一个如此漫长的过程,那么您可以自己在适配器上调用它并缓存实例化的项目。如果您没有那么多物品,这是可以的。
否则,您必须让ViewPager认为它是可见的。您可以将其隐藏在视图后面,而不是设置它的可见性,然后在所有内容准备就绪时使视图消失。只需确保您在视图上捕获触摸事件,这样它们就不会传递给ViewPager。