Android – PagerAdapter的页面更改回调

Android – PagerAdapter的页面更改回调,第1张

概述我正在尝试开发一个应用程序,它将显示数字1-10,并带有一个声音. 使用mobile.tutsplus中的示例进行横向扫描,我已经达到了所有数字正确显示的舞台,但当我们从2回来时,声音为1不会来.(最初当我的活动以1开头). 10也不会来. 解决之前的问题,1和2的声音将立即出现,我现在明白,instantiateItem()将被调用来预取下一个条目. 我想知道我应该在什么时候播放声音?目前它是在 我正在尝试开发一个应用程序,它将显示数字1-10,并带有一个声音.

使用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的页面更改回调所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1132084.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存