Android防止按钮快速重复点击
Posted JMW1407
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android防止按钮快速重复点击相关的知识,希望对你有一定的参考价值。
问题发现
做android开发时很可能会遇到这样的场景:
一个Button响应点击后发起网络请求。由于当前网络情况较差等原因请求结果没有及时返回,这个按钮又被用户重复点击,或者用户故意快速点击,造成请求多次发起。
快速重复点击引起的网络请求多次发起,往往都不是我们希望看到的,会产生交互上的逻辑混乱,如果是涉及到提交订单这样的请求,还可能会对用户造成损失,所以这样的情况需要避免。
防止快速重复点击的方案很多。可以在服务端做校验,可以在客户端交互上做限制,也可以在客户端响应点击事件时做校验。其中,在客户端响应点击事件时做校验的方法,可以很方便在网上搜索到:
一、全局
public class Utils {
// 两次点击按钮之间的点击间隔不能少于1000毫秒
private static final int MIN_CLICK_DELAY_TIME = 1000;
private static long lastClickTime;
public static boolean isFastClick() {
boolean flag = false;
long curClickTime = System.currentTimeMillis();
if ((curClickTime - lastClickTime) >= MIN_CLICK_DELAY_TIME) {
flag = true;
}
lastClickTime = curClickTime;
return flag;
}
}
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (Utils.isFastClick()) {
// 进行点击事件后的逻辑操作
}
}
参考
1、https://zhuanlan.zhihu.com/p/34841081
2、https://www.cnblogs.com/dingxiansen/p/10442255.html
以上是关于Android防止按钮快速重复点击的主要内容,如果未能解决你的问题,请参考以下文章