gpt4 book ai didi

android - Handler.postdelayed

转载 作者:太空狗 更新时间:2023-10-29 13:40:46 26 4
gpt4 key购买 nike

我正在使用 handler.postDelayed 方法为某些动画内容创建一些延迟。

我正在使用 Mediaplayer 播放一些歌曲。用户可以通过单击下一步退出此操作类。但是在下一个屏幕上,即使我在下一个按钮的 onclicklistener 中调用了停止方法,同一首歌仍在继续。

是否由于添加的时间延迟在下一个 Activity 加载后执行。有什么想法吗?

handler.postDelayed(new Runnable() {
public void run() {
mp = MediaPlayer.create(getApplicationContext(), R.raw.num2);
mp.start();
imageView1.setImageResource(R.drawable.countcat2);
}
}, 2000);

最佳答案

您是否添加了 Log 以查看是否调用了 run()?我假设您的处理程序未注册;毕竟,postDelayed 会等到 looper 再次启动。

我假设您的动画比那些 2000 毫秒快?在您的 Activity 结束后,您无论如何都无法调用您的处理程序,它正在访问 imageView1,我认为它已在 onDestroy 中被销毁。

您可以考虑添加一个标志,强制在 onDestroy 中立即调用操作,和/或您可以使用 Timer。对于计时器,确保在它被销毁后不要使用类似 imageView1 的东西。

关于android - Handler.postdelayed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6021610/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com