代码未按预期顺序执行?

时间:2014-08-14 14:32:32

标签: java android thread-sleep

有人可以向我解释为什么通过以下链接的代码没有按预期执行?我想我对线程的执行方式一无所知,但显然我不知道是什么。非常感谢任何帮助。

从视觉上看,我希望按以下顺序显示四个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)
}

0 个答案:

没有答案