Android:在同一个按钮上单击

时间:2011-06-20 08:19:10

标签: android

在我的应用程序中,我有一个简单的图像切换器和屏幕底部的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上我无法重现那个......那是因为设备很慢或我的代码有什么问题吗?感谢...

1 个答案:

答案 0 :(得分:1)

 public final boolean postDelayed (Runnable r, long delayMillis)

delayMillis 执行Runnable之前的延迟(以毫秒为单位)。 返回

我认为您的button在700毫秒内启用,持续时间非常短,这就是您遇到此问题的原因。

尝试增加延迟并查看。