繁体   English   中英

ViewPager.OnPageChangeListener给出错误的位置

[英]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() -

https://code.google.com/p/android/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars&groupby=&sort=&id=75309

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM