Android 防止短时间内重复点击

点击某个按钮弹出dialog,如果dialog 渲染比较慢 。用户并且在此刻多次点击按钮,会产生多个dialog。

解决思路: 点击之后然后按钮在一段时间再次点击不生效。

以下代码是用button做的案例

private final static String TAG = "MainActivity";
private Button btn;
private long lastClickTime = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    btn = findViewById(R.id.btn);
    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            long now = System.currentTimeMillis();
            if(now - lastClickTime >1000){
                lastClickTime = now;
                Log.e(TAG,"perform click!!!");
            }
        }
    });
}

逻辑很简单,控制点主要是在(now - lastClickTime >1000) 如果间隔不大于1s 不会执行perform click 的

猜你喜欢

转载自blog.csdn.net/weixin_42744183/article/details/90175019