有人可以向我解释为什么通过以下链接的代码没有按预期执行?我想我对线程的执行方式一无所知,但显然我不知道是什么。非常感谢任何帮助。
从视觉上看,我希望按以下顺序显示四个Toasts: 1. createToast(“延迟的RandomCue方法的开始”); 2. createToast(“延迟开始”); 3. createToast(“延迟结束”); 4. createToast(“延迟的RandomCue方法结束”);
但是,产生的顺序是: 1. createToast(“延迟的RandomCue方法的开始”); 2. createToast(“延迟的RandomCue方法结束”); 3. createToast(“延迟结束”); 4. createToast(“延迟开始”);
我的总体目标是拥有一个显示图像并且每3秒钟更换一次的程序。玩家可以按一个按钮,图像会改变1.5秒。因此,有两种方法,一种是使用countdowntimer来改变图像,另一种是使用与imagebutton相对应的onClick方法来改变图像。
我遇到的问题是链接中提供的代码(在onclick方法中调用的方法)应该更改图像,将bool值设置为false,等待1.5秒,然后更改相同的bool价值回归真实。
虽然bool值为true,但是应该跳过更改图片的方法,但事实并非如此,我不知道为什么,但我认为这与我在下面创建的要点中的代码有关。
所以我遇到的问题是当点击按钮时,图像会按预期更改,但由于第一种方法无法识别播放器的响应因此有时不会更改图像,因此有时会再次快速更改。
如果有任何进一步的细节或任何需要,请告诉我,并再次感谢您的时间和帮助!
https://gist.github.com/cjayem13/d32446ceb8c6d9626c68#file-easyfragment-java https://gist.github.com/cjayem13/d32446ceb8c6d9626c68
https://gist.github.com/cjayem13/d0a0b124dfe17666be25#file-easyfragment-java https://gist.github.com/cjayem13/d0a0b124dfe17666be25
onclick(){
delayedRandomCue(final long a)
}