Android ViewPager.OnPageChangeListener提供错误位置
在一个片段中,我使用一个ViewPager并设置一个当前项Android ViewPager.OnPageChangeListener提供错误位置,android,user-interface,android-viewpager,Android,User Interface,Android Viewpager,在一个片段中,我使用一个ViewPager并设置一个当前项 mViewPager.setCurrentItem(5); mViewPager.setAdapter(someAdapter); mViewPager.addOnPageChangeListener(this); 现在,OnPageChangeListener的方法“onPageSelected(int position)”并没有给出positon值4或6,而是给出1。如果当前位置设置为10,则位置参数为11 您正在编写正确的代码,
mViewPager.setCurrentItem(5);
mViewPager.setAdapter(someAdapter);
mViewPager.addOnPageChangeListener(this);
现在,OnPageChangeListener的方法“onPageSelected(int position)”并没有给出positon值4或6,而是给出1。如果当前位置设置为10,则位置参数为11 您正在编写正确的代码,但顺序不正确
mViewPager.setAdapter(someAdapter);
mViewPager.setCurrentItem(5);
mViewPager.addOnPageChangeListener(this);
您应该首先设置
适配器
,然后在ViewPager
中告诉加载的位置只有在调用setAdapter()
并等待ViewPager完成加载后,才能调用setCurrentItem()
。似乎没有合适的方法来做这件事。黑客攻击是在调用setCurrentItem()
-
参考:
另一种方法是在OnLayoutChangeListener
-