温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

android中点击无效验证如何解决

发布时间:2021-05-18 18:02:44 来源:亿速云 阅读:148 作者:Leah 栏目:移动开发

android中点击无效验证如何解决?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

模型如下:

android中点击无效验证如何解决

子模型:

android中点击无效验证如何解决

ps:

 黑色的是最外层,蓝色的是在黑块中,然后delete区域在滑块区。滑动是控制蓝色区域的移动。

如果仅仅是这样,我一点也不慌。出现了一些东西,更加我让疑惑。delete的groupview 容器点击是有效的,也就是蓝色区域可点击的,我用它来点击添加item,这同样也给我提供了线索。

android中点击无效验证如何解决

在我心中产生了两个个疑问:

  1. 为什么只有第一个可以点击, 删除第一个后,第二个变成了第一个,又可以删除?

  2. 为什么delete 区域不可点击,而其groupview 可以点击?

解决

对于第一个疑问,我尝试检测是否绑定了,当然不可能去调试看了,因为list嘛,都一个样,查看xy坐标的话,脑壳痛。

// holder.tvMsgRemindDelete 是获取到delete对象
holder.tvMsgRemindDelete.setText("你好啊");

我将拿到的delete view,然后修改它的text。

当然肯定是没用的,我写完的时候就感觉不对劲,然而还抱着一丝希望。

因为如果变成第一个的话,那么是可以点击删除的,肯定绑定了事件哈。

对于第二个疑问,父类groupview 可以点击,我就猜想是否是父类的groupview 阻止了该分发事件。(一般情况是不会阻止的,然而我做的这个滑动较为复杂,自我安慰一下)

是否分发到子元素,涉及到

1. onInterceptTouchEvent
2. dispatchTouchEvent

这两个事件,一个是分发,一个是拦截。

然后找到[ACTION_DOWN,ACTION_UP]判断事件是通过这两个判断的。

然后真的发现:return inView(x, y)

ps:

inView 是我用来判断是当前x,y轴是否在滑块中,也就是蓝色块中。

前面将delete放在外面,如下:

android中点击无效验证如何解决

Android是什么

Android是一种基于Linux内核的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发。

关于android中点击无效验证如何解决问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI