简体   繁体   English

ViewPager.OnPageChangeListener给出错误的位置

[英]ViewPager.OnPageChangeListener giving wrong position

In a fragment i'm using a ViewPager and setting a current item. 在一个片段中,我正在使用ViewPager并设置当前项。

mViewPager.setCurrentItem(5);
mViewPager.setAdapter(someAdapter);
mViewPager.addOnPageChangeListener(this);

Now, OnPageChangeListener's method "onPageSelected(int position)" is not giving positon value 4 or 6, but giving 1. I want if current position is set to 10 then position parameter give 11. 现在,OnPageChangeListener的方法“ onPageSelected(int position)”不是给出正数4或6,而是给出1。我想如果当前位置设置为10,则位置参数给出11。

Your are writing correct code but not in correct order. 您正在编写正确的代码,但顺序不正确。

 mViewPager.setAdapter(someAdapter);
 mViewPager.setCurrentItem(5);
 mViewPager.addOnPageChangeListener(this);

you should first set the adapter then tell which position to load in ViewPager . 您应该首先设置adapter然后确定要在ViewPager加载哪个位置。

You could call setCurrentItem() only after calling setAdapter() and wait for the viewpager to complete its loading. 你可以调用setCurrentItem()只调用后setAdapter() 等待viewpager完成其加载。 There seems no proper way of doing this. 似乎没有适当的方法来执行此操作。 A hack is to wait some milliseconds before calling setCurrentItem() - 黑客是要在调用setCurrentItem()之前等待几毫秒-

Reference: Android ViewPager setCurrentItem not working after onResume 参考: Android ViewPager setCurrentItem在onResume之后不起作用

An alternative is to call setCurrentItem() in an OnLayoutChangeListener - 另一种方法是在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 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.

相关问题 ViewPager.OnPageChangeListener中的片段接口 - Interface in fragment in ViewPager.OnPageChangeListener 如何使用ViewPager.OnPageChangeListener - How to work with ViewPager.OnPageChangeListener 带有ViewPager.OnPageChangeListener的ActionBarSherlock TabPageIndicator-标签卡住了 - ActionBarSherlock TabPageIndicator with ViewPager.OnPageChangeListener - tab is stuck Android ViewPager.OnPageChangeListener生命周期轮换问题 - Android ViewPager.OnPageChangeListener lifecycle rotation issue ViewPager.OnPageChangeListener在ViewPager完成初始化之前运行 - ViewPager.OnPageChangeListener runs before ViewPager finish init 构造函数Intent(new ViewPager.OnPageChangeListener(){},类 <Player> )未定义 - The constructor Intent(new ViewPager.OnPageChangeListener(){}, Class<Player>) is undefined 以编程方式在ViewPager.OnPageChangeListener onPageSelected()中隐藏软键盘? - Programmatically Hide Soft Keyboard in ViewPager.OnPageChangeListener onPageSelected()? 如何拦截ViewPager.OnPageChangeListener中的触摸事件 - How to intercept touch events from ViewPager.OnPageChangeListener 如何从viewpager的OnPageChangeListener中的位置获取? - How to get the from position in OnPageChangeListener of a viewpager? OnPageChangeListener使ViewPager落后 - OnPageChangeListener makes ViewPager laggy
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM