使用mobile.tutsplus中的示例进行横向扫描,我已经达到了所有数字正确显示的舞台,但当我们从2回来时,声音为1不会来.(最初当我的活动以1开头). 10也不会来.
解决之前的问题,1和2的声音将立即出现,我现在明白,instantiateItem()将被调用来预取下一个条目.
我想知道我应该在什么时候播放声音?目前它是在instantiateItem()中完成的,这就是为什么我没有听到它的1和10.我以为我可以在finishUpdate()中执行它,但我看到它被多次调用.
根据培训指南,对于这样一个对象的集合,应该使用FragmentStatePagerAdapter,我将尝试移动到这个对象.但我真的很想让这个工作正常.
正如你所猜到的,我是一个新手,这是我的第一个应用程序.如果需要,我可以粘贴代码.
解决方法 VIEwPager有一个setonPagechangelistener()方法,它允许您设置一个对象,当一个新页面成为用户正在查看的对象时,该对象将获得回调.这样的事情会让你走上正确的道路:
mPagechangelistener = new OnPagechangelistener() { @OverrIDe public voID onPageScrollStateChanged(int arg0) { // Todo auto-generated method stub } @OverrIDe public voID onPageScrolled(int arg0,float arg1,int arg2) { // Todo auto-generated method stub } @OverrIDe public voID onPageSelected(int pos) { playSoundForPage(pos); }};yourVIEwPager.addOnPagechangelistener(mPagechangelistener);
然而,你必须把它放在任何你自己的VIEwPager(活动或片段),而不是你的适配器.
总结以上是内存溢出为你收集整理的Android – PagerAdapter的页面更改回调全部内容,希望文章能够帮你解决Android – PagerAdapter的页面更改回调所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)