我正在使用FragmentStatePagerAdapter
和ViewPager
,默认的起始页是0.我希望我在一些仲裁页面上开始,比如说5.这就是我展示ViewPager的方式:< / p>
viewPager.setAdapter(adapter);
viewPager.setCurrentItem(viewNumber, true);
但是,ViewPager首先在默认位置(0)创建,然后切换到我想要的位置(5)。所以我的片段按以下顺序创建:0,1,4,5,6。
我不希望创建0和1处的片段。我怎样才能做到这一点?
答案 0 :(得分:1)
我怎样才能做到这一点?
将ViewPager
的源代码复制到您的项目中,将其重构到您自己的包中,然后修改代码以适应。具体而言,您需要修改setAdapter()
以不尝试布局或填充ViewPager
,直到您通过某种新方法手动请求(例如lisaWouldLikeYouToPopulateNowKThxBye()
)。
你可能能够通过子类化ViewPager
并覆盖populate()
来实现根据您在子类中保存的某个标志实际完成其工作,以便您可以避免在PagerAdapter
来电之前从setCurrentItem()
填充。
或者,不要管它。目前还不清楚你认为这样做有什么好处,更不用说它们是否值得分叉ViewPager
的维护头痛。