[英]ViewPager.OnPageChangeListener giving wrong position
在一个片段中,我正在使用ViewPager并设置当前项。
mViewPager.setCurrentItem(5);
mViewPager.setAdapter(someAdapter);
mViewPager.addOnPageChangeListener(this);
现在,OnPageChangeListener的方法“ onPageSelected(int position)”不是给出正数4或6,而是给出1。我想如果当前位置设置为10,则位置参数给出11。
您正在编写正确的代码,但顺序不正确。
mViewPager.setAdapter(someAdapter);
mViewPager.setCurrentItem(5);
mViewPager.addOnPageChangeListener(this);
您应该首先设置adapter
然后确定要在ViewPager
加载哪个位置。
你可以调用setCurrentItem()
只调用后setAdapter()
并等待viewpager完成其加载。 似乎没有适当的方法来执行此操作。 黑客是要在调用setCurrentItem()
之前等待几毫秒-
参考: Android ViewPager setCurrentItem在onResume之后不起作用
另一种方法是在OnLayoutChangeListener
调用setCurrentItem()
-
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.