Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android ViewPager.OnPageChangeListener提供错误位置_Android_User Interface_Android Viewpager - Fatal编程技术网

Android ViewPager.OnPageChangeListener提供错误位置

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 您正在编写正确的代码,

在一个片段中,我使用一个ViewPager并设置一个当前项

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
-