android 防止对控件的重复点击和同时点击多个控件

在一个手机界面中,用户经常会同时点击多个控件,经常会在短时间内对某一个控件点击多下,这样就会造成各种各样的bug。

防止点击多个控件

只要在xml文件中的父容器总加入这样一行代码即可:
android:splitMotionEvents=”false”
如在下面的LinearLayout中加入这行话,表示每一次只能点击LinearLayout其中的一个元素,点击了其他的元素是无效的。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/dp10"
android:splitMotionEvents="false"
android:background="@drawable/shape_frame_black"
android:orientation="vertical" >

防止点击一个控件多次

这个我们只要加上一个标志位就可以了,判断前后2次的点击时间间隔是否大于一个固定值,这个固定值可以我们自己定义。
private long lastClickTime;
/**
* 防止重复点击
* @return
*/
private boolean isFastDoubleClick() {
long time = System.currentTimeMillis();
long timeD = time - lastClickTime;
if ( 0 < timeD && timeD < 500) {
return true;
}
lastClickTime = time;
return false;
}

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。