在我的应用程序中,我有一个简单的图像切换器和屏幕底部的2个按钮(下一个和上一个)来切换图像。此外,我将动画设置为持续时间为700的图像切换器。因此,当我单击“下一步”按钮时,首先禁用下一个按钮,然后设置为具有相同持续时间的延迟的可点击...因为我需要动画完成。
public void onNextButtonPressed(View view) {
setPreviousAndNextButtonsClickable(false);
setPeviousAndNextButtonsClickableWithDuration();
}
private void setPeviousAndNextButtonsClickableWithDuration() {
Handler mHandler = new Handler();
mHandler.postDelayed(new Runnable() {
public void run() {
setPreviousAndNextButtonsClickable(true);
}
}, 700);
}
private void setPreviousAndNextButtonsClickable(boolean clicable) {
nextButton.setClickable(clicable);
previousButton.setClickable(clicable);
}
现在关于我的问题...当我点击下一个按钮非常快时,一些时间按钮可以点击两次没有延迟...看起来我可以点击比button.setCkickable()方法工作更快...什么是问题吗?可能是因为设备?我正在尝试使用Android 2.2的HTS,我重现了一个bug ...而且还在android 2.3.4上我无法重现那个......那是因为设备很慢或我的代码有什么问题吗?感谢...
答案 0 :(得分:1)
public final boolean postDelayed (Runnable r, long delayMillis)
delayMillis 执行Runnable
之前的延迟(以毫秒为单位)。
返回
我认为您的button
在700毫秒内启用,持续时间非常短,这就是您遇到此问题的原因。
尝试增加延迟并查看。