android - 如何防止跨应用程序在Android中双击?

标签 android onclicklistener android-button

我的应用包含大约 50-60 个屏幕。每个屏幕都有一个用于打开新屏幕的按钮。现在我面临的问题是当用户双击按钮时,新屏幕打开两次。

对于这个问题,我找到了如下解决方案。

 if (SystemClock.elapsedRealtime() - mLastClickTime < 1000){
                return;
            }

            mLastClickTime = SystemClock.elapsedRealtime();

但是为了防止双击,我需要在每次点击按钮时都写上上面的代码。我没有创建随处使用的通用自定义按钮。

有什么方法可以在应用级别双击?

最佳答案

我遇到了同样的问题,我解决了它,如下所示,它可能对你有帮助。

你可以通过两种方式实现 一个: 尝试使用 boolean 变量:

public class Blocker {
    private static final int BLOCK_TIME = 1000;
    private boolean isBlockClick;

    /**
     * Block any event occurs in 1000 millisecond to prevent spam action
     * @return false if not in block state, otherwise return true.
     */
    public boolean block(int blockInMillis) {
        if (!isBlockClick) {
            isBlockClick= true;
            new Handler().postDelayed(new Runnable() {
                @Override
                public void run() {
                    isBlockClick= false;
                }
            }, blockInMillis);
            return false;
        }
        return true;
    }

    public boolean block() {
        return block(BLOCK_TIME );
    }
} 

在每次点击时使用如下所示。

button.setOnClickListener(new View.OnClickListener() {
            private Blocker blocker = new Blocker();

            @Override
            public void onClick(View v) {
                if (!blocker.block(block-Time-In-Millis)) {
                    // do your action   
                }
            }
        });

两个 或者您可以在按钮的每个点击事件上设置 button.setEnable(false),如下所示

btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                btn.setEnabled(false);
            }
        });

关于android - 如何防止跨应用程序在Android中双击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57883622/

相关文章:

java - 单击另一个按钮时永久启用一个按钮。即使应用程序重新启动

java - android 如何让 float 按钮消失?

javascript - 不要在 Android 上加载时间流音频

javascript - 从事件循环中保存值

Android点击通过PopupWindow

java - 无法在recyclerview(cardview)上设置onclick

java - JPG 与 Android 上的 WebP 性能对比

java - Android自定义图库禁用滚动

Android 阻止返回到上一个 Activity

android - 以编程方式创建一个带有包含图像的锐边的按钮