现实操作中,用户经常会神操作点击,同时点击两个按钮,或者同一按钮点击两次,这样势必造成页面的跳转混乱,或者事件触发混乱。
第一种,同时点击两次不同按钮
解决这种bug,只需要在xml中进行控制即可,
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white"
**android:splitMotionEvents="false"**
>
<child-layout>
巴拉巴拉一堆
</child-layout>
</RelativeLayout>
在xml根布局中添加android:splitMotionEvents="false"即可,根据字面含义是"不分割手势事件",这样就控制单个按钮的点击,不会造成多个按钮同时点击的操作。
第二种,同一按钮同时点击两次
这个问题,加一个标志位,通过判断前后两次点击时间间隔是否大于固定值,大于之后就可以避免短时间的点击冲突。
private long lastClickTime;
public boolean isFastDoubleClick(){
long time=System.currentTimeMillis();
long timeD=time-lastClickTime;
if(timeD>0&&timeD<=500){
return false;
}
lastClickTime=time;
return true;
}
如此一顿猛如虎的操作之后,你会发现再也不会有相关bug出现了。