android点击无效问题总结

许佳佳233 许佳佳233     2022-12-11     496

关键词:

概述

近期碰到比较坑的点击无效的问题,尝试了多种解决方案,最终解决。
于是,趁热打铁,做个问题与解决方案的总结,期望能对你有所帮助。

点击无效的原因

  1. View没有设置点击事件
  2. View被其他View遮盖
  3. 父View拦截了事件
  4. 被其他window遮盖

排查与解决

View没有设置点击事件

打断点或打log,确认设置点击事件的代码有执行到。

View被其他View遮盖

可以通过Android studio的工具“Layout Inspector”来协助排查,确认没有被其他View遮盖。

父View拦截了事件

在父View的dispatchTouchEvent中打断点或者log,确认事件有传递到父View。
如果确认父View收到了事件,而子View没有收到,那么大概就是这个原因。

被其他window遮盖

笔者碰到的就是这种情况:

View的页面启动了一个透明的activity,这个activity虽然是透明的,但是也有自己的window,于是拦截了所有触摸事件。

解决方案有两种:

  • 给这个遮盖的window添加flag:WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
    添加这个flag后,这个window不会处理任何触摸事件,直接会往下传递。
  • 查看widnow遮盖的场景是否符合业务场景,如果不符合,及早把它关闭,不要影响其他页面的触摸事件。

android中radiobutton的setchecked(true)无效或点击状态无反应问题

1.问题描述在RecyclerView中Item是个RadioGroup,在Adapter中动态添加RadioButton,并通过setChecked为RadioButton设置选中和未选中的状态,中间会通过Adapter的notifyDataSetChanged方法来刷新数据源。当我改变RadioButton的状态或设置setChecke... 查看详情

android中radiobutton的setchecked(true)无效或点击状态无反应问题

1.问题描述在RecyclerView中Item是个RadioGroup,在Adapter中动态添加RadioButton,并通过setChecked为RadioButton设置选中和未选中的状态,中间会通过Adapter的notifyDataSetChanged方法来刷新数据源。当我改变RadioButton的状态或设置setChecke... 查看详情

butterknife配置了点击和绑定无效

配置了butterknife没有报错,但是控件绑定和点击均无效。问题原因:butterknife配置不完善问题导致。解决办法:找到app的module的build.gradledependencies{compilefileTree(dir:‘libs‘,include:[‘*.jar‘])androidTestCompile(‘com.android.support.test.espresso: 查看详情

Android:根据列表视图中点击的项目计算价格。应用程序在总活动 Logcat 中崩溃:无效浮点数:“”

】Android:根据列表视图中点击的项目计算价格。应用程序在总活动Logcat中崩溃:无效浮点数:“”【英文标题】:Android:Calculatepricefromclickeditemsinlistview.AppcrashesintotalactivityLogcat:Invalidfloat:""【发布时间】:2018-07-3015:22:38【... 查看详情

点击按钮时谷歌地图崩溃。 (无效 com.google.maps.api.android.lib6.impl.bp.v())

】点击按钮时谷歌地图崩溃。(无效com.google.maps.api.android.lib6.impl.bp.v())【英文标题】:GoogleMapscrashingwhenclickingonthebutton.(voidcom.google.maps.api.android.lib6.impl.bp.v())【发布时间】:2021-07-0921:42:01【问题描述】:谷歌地图活动以前可以... 查看详情

listview点击事件无效或item点击事件无效

...n、CheckBox的focuable为false;3>:设置ListView的item的根布局android:descendantFocusability="blocksDescendants",一般推荐第三种,意思是ListView的item下边所有的子控件都不能获取焦点。android:descendantFocusability的值有3种,其中ViewGroup指... 查看详情

oracle之标识符无效问题总结及解决方案(代码片段)

...因为你的SQL中列名写错了,导致查询的时候,报的标识符无效。  或是数据库中没有这个列名, 查看详情

关于actionbar左侧添加完返回后点击无效的问题

ActionBaractionBar=getSupportActionBar();if(actionBar!=null)actionBar.setHomeAsUpIndicator(R.mipmap.back_f);actionBar.setDisplayHomeAsUpEnabled(true);  我们获取到ActionBar之后,发现点击了返回却无效原因是还需要点击监听如下@Overri 查看详情

ios和android浏览器适配问题总结

参考技术A移动端、适配(兼容)、ios点击事件300ms延迟、点击穿透、定位失效......关于Web移动端Fixed布局的解决方案,这篇文章也不错http://efe.baidu.com/blog/mobile-fixed-layout/详细介绍见这里:https://developer.mozilla.org/zh-CN/docs/Web/CSS/point... 查看详情

h5的兼容问题总结

 聚焦问题Android会出现点击聚焦的情况,出现黄色的边框,通过对相应的元素设置css–webkit-tap-highlight-color:rgba(0,0,0,0)解决,另外一些高版本的系统也可能会出现有黄色边框的情况,这时候试着用outline:none来解决。Android p... 查看详情

无效告警优化实践总结

...漏掉告警导致问题无法发现,导致每天接收到大量的无效告警,告警的泛滥逐渐麻痹了警惕性,结果真实的问题初漏端倪时却被忽略,最终导致了严重的故障。如何提升告警的有效性& 查看详情

androidwebview基本使用总结

 AndroidWebview基本使用总结   前言: 在目前Android开发市场中,越来越多公司的APP项目使用AndroidWebView加载H5进行混合开发,有时不仅仅是简单的展示几个网页,还需要本地Android原生原生控件与HTML中的JavaScript进... 查看详情

androidwebview基本使用总结

 AndroidWebview基本使用总结   前言: 在目前Android开发市场中,越来越多公司的APP项目使用AndroidWebView加载H5进行混合开发,有时不仅仅是简单的展示几个网页,还需要本地Android原生原生控件与HTML中的JavaScript进... 查看详情

elementui框架中el-radio-group组件赋值之后,点击无效问题

参考技术A在绑定值变化触发的事件添加this.$forceUpdate()强制更新 查看详情

selenium处理元素定位到了点击无效问题(代码片段)

...试过程中,经常会遇到这样的问题:元素定位到了,但是点击无效?有人可能会问了,怎么判断元素定位到了,这个问题很好判断1.给元素加高亮显示self.driver.execute_script("arguments[0].setAttribute(‘style‘,arguments[1]);",element,"border:2pxso... 查看详情

团队配置文件无效

...具有特定ID的。因为我在网上做了一些研究,它说我应该点击Xcode首选项,然后点击查看帐户的详细信息,然后点击右下角的刷新按钮,但我找不到它。【问题讨论】:好吧,我的意思是我找不到刷新按钮。并且团队配置文件由Xc... 查看详情

listviewsetonitemclicklistener无效原因分析

...方法之一进行解决:1、在button、checkbox对应的view处加上android:focusable="false"android:clickabl 查看详情

pythonselenium模拟鼠标点击无效是啥原因

参考技术A这个读不了网页元素,是因为你的网页都没有打开!它怎么去读取元素。建议用chrome来做这些页面操作,会比较好用,没有这么多问题,IE和Firefox对这个webdriver支持不太好,会有很多问题!本回答被提问者采纳 查看详情