ANDROID:按下按钮后如何延迟?

标签 android button

我有一个按钮,当它被按下时它会播放一个音频文件。我想在按钮上延迟 5 秒,这样用户就不会按下按钮并一遍又一遍地播放声音。我想我真正想要的是按钮在按下后禁用 5 秒。有谁知道如何做到这一点?

最佳答案

在按钮的 onClickListener 中:

myButton.setEnabled(false);

Timer buttonTimer = new Timer();
buttonTimer.schedule(new TimerTask() {

    @Override
    public void run() {
        runOnUiThread(new Runnable() {

            @Override
            public void run() {
                myButton.setEnabled(true);
            }
        });
    }
}, 5000);

这将在单击时禁用该按钮,并在 5 秒后再次启用它。

如果点击事件是在扩展 View 的类中处理的,而不是在 Activity 中处理的,则执行相同的操作,但将 runOnUiThread 替换为 post

关于ANDROID:按下按钮后如何延迟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13398104/

相关文章:

android - 如何使用 OAuth 2.0 验证 flutter 应用程序以访问 Gmail api?

java - 无法在 onPostExecute 中更新 android listview

android - Android中带有透明图标的分层按钮

MFC : creating a hyperlink in a button

android - 以编程方式获取 Android 中联系人的上次更新时间

java - 如何在 HashMap 中添加和获取类的对象值

Javascript 按钮 onclick 在第一次单击时不起作用

javascript - 无法按字母顺序自动对按钮进行排序

javascript - 如何调用通过单击 HTML 按钮将文本输入只读文本框的函数?

android - ImageReader Android 无法读取任何图像