Android MUI的tap事件在部分手机上点击会触发两次或三次的问题
2017-03-14 15:08
711 查看
解决MUI的tap事件在部分Android手机上点击会触发两次或三次的问题
项目后台js代码:
android中的代码:
结果是单击某项时会执行三次IntentUtils.startPreviewActivity(context, intent, 0);
也就是说触发了三次MUI的tap事件,而长按再松开则是只触发一次。
百度搜索到的不是解决方法的解决办法:
android端解决方案一:
利用系统时间做判断,如果前后两次点击事件的时间间隔少于200毫秒,那么就不触发后一次的事件,然后记录后一次的时间,当tap触发多次点击事件时,只要每次的时间间隔少于200毫秒,那么只会执行第一次的,后面的事件就不会被执行,这样就解决了这个问题。
下面给出事例代码,没测试过,不保证代码没问题,但可以保证思路是没问题的。
项目后台js代码:
android中的代码:
结果是单击某项时会执行三次IntentUtils.startPreviewActivity(context, intent, 0);
也就是说触发了三次MUI的tap事件,而长按再松开则是只触发一次。
百度搜索到的不是解决方法的解决办法:
2017/07/29添加:
看到浏览量挺多的,说明很多朋友都遇到了这个问题,所以今天想补充一下解决方案,在android端解决该问题,而不是修改网站代码。android端解决方案一:
利用系统时间做判断,如果前后两次点击事件的时间间隔少于200毫秒,那么就不触发后一次的事件,然后记录后一次的时间,当tap触发多次点击事件时,只要每次的时间间隔少于200毫秒,那么只会执行第一次的,后面的事件就不会被执行,这样就解决了这个问题。
下面给出事例代码,没测试过,不保证代码没问题,但可以保证思路是没问题的。
private long lastTapTime=System.currentTimeMillis(); @Override public boolean execute(String realMethod, LDJSParams args, LDJSCallbackContext callbackContext) throws JSONException { long currentTapTime = System.currentTimeMillis(); if(currentTapTime-lastTapTime<200){ lastTapTime = currentTapTime; return false; } ......................... }
相关文章推荐
- 解决label点击事件触发两次问题
- 解决Android设置软键盘搜索键以及监听搜索键点击时发生两次事件的问题
- android修改软键盘的回车键为搜索键以及点击时执行两次监听事件的问题
- android修改软键盘的回车键为搜索键以及点击时执行两次监听事件的问题
- android设置软键盘搜索键以及监听搜索键点击时发生两次事件的问题解决
- Android开发——相册拍照_03.解决相机拍照之后部分手机无法将图片保存到路径或部分手机点击相机确定无法返回问题
- 自定义CheckBox解决label点击事件触发两次问题
- android点击手机返回键触发事件
- android设置软键盘搜索键以及监听搜索键点击时发生两次事件的问题解决
- android部分手机onclick事件触发2次
- android内嵌h5界面展示不全以及部分按钮不能触发点击事件
- android学习之EditText需要点击两次触发onclick问题解决
- android设置软键盘搜索键以及监听搜索键点击时发生两次事件的问题解决
- Android 按钮点击两次触发不同的事件
- android设置软键盘搜索键以及监听搜索键点击时发生两次事件的问题解决
- 解决Android按住空白区域,导致点击其他按钮无法触发点击事件的问题
- Button需要点击两次才触发点击事件问题
- android点击手机返回键触发事件
- android点击手机返回键触发事件
- iscroll 部分android手机(如三星的)不能点击兼容问题