TextView的部分点击事件和点击事件

1.在TextView中实现部分点击
我在activity中使用了clickablespan这个类,然后完全按照视频上的操作下来,发现点击时不响应,于是我便设置了电话的链接,发现这时点击
自己设置的区域就会响应,但是如果我把电话链接删了,这时就又不会响应,于是我便上网查找,如何设置Textview的部分点击,发现是因为我
少加了一行代码myTextView.setMovementMethod(LinkMovementMethod.getInstance());加上之后就行了(可是视频里也没有,可能是视频太早了,
系统的源代码进行了细微的更改)。

结论:使用clickablespanTextView设置部分点击,记得要为TextView设置movementMethod
2.在TextView中实现完全点击
这个只需要为textview设置监听器就行,由于我是在之前的代码中直接加入的,然后当我点击我之前设置的部分点击的区域时,发现是先调用
clickablespan中的onclick(),然后是onclicklistener中的onclick(),而点击电话的链接时,是直接跳转到拨打电话的页面,即不会调用
clickablespan中的onclick()方法,也不会调用onclicklistener中的onclick()方法,因为没有打印出这两个方法中的输出语句。同时这里有一点
需要提一下,如果这时你在xml文件中声明android:clickable="false", android:linksClickable="false",这时你会发现,无论是自己设置的
部分区域,亦或是电话的链接,还是textview中的任何地方,都是可以点击的。这是因为无论是setOnClickListener会强制改变clickable属性,
myTextView.setMovementMethod(LinkMovementMethod.getInstance());会改变android:linksclickable的属性(这里得提一点,如果你将
myTextView.setMovementMethod(LinkMovementMethod.getInstance())代码去掉,然后设置android:linksclickable="true",这时就会有一个有趣的
现象,若textview的值中有phoneweb之类的,那么无论是自己设置的区域还是phone,web都可以点击,若是没有phone,web之类的,那么自己设置的
区域就无法点击,感觉是android:linksclickable="true"属性是对于android:autolink而设置的,若textview中的内容存在这些,则会让linksclickable
设置为true,否则不会。),所以都可以点击。如果你将setonclicklistener()去掉,然后设置android:linksClickable="true"android:clickable="false"
发现自己设置的区域和电话依然可以点击。

结论:为TextView设置完全点击时,为TextView设置onclicklistener监听器,若同时还有部分点击,以及电话。那么当点击设置的部分点击区域时,先运行clickablespan中的onclick(),然后是onclicklistener中的onclick(),若点击电话的链接,是直接跳转到拨打电话的页面,即不会调用clickablespan中的onclick()方法,也不会调用onclicklistener中的onclick()方法。同时setOnClickListener会强制改变clickable属性,而myTextView.setMovementMethod(LinkMovementMethod.getInstance());会改变android:linksclickable的属性(这里得提一点,如果你将myTextView.setMovementMethod(LinkMovementMethod.getInstance())代码去掉,然后设置android:linksclickable="true",这时就会有一个有趣的现象,若textview的值中有phone,web之类的,那么无论是自己设置的区域还是phone,web都可以点击,若是没有phone,web之类的,那么自己设置的区域就无法点击,感觉是android:linksclickable="true"属性是对于android:autolink而设置的,若textview中的内容存在这些,则会让linksclickable设置为true,否则不会。)。



作者:sakurajiang
链接:https://www.jianshu.com/p/a1f879df5639
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。



作者:sakurajiang
链接:https://www.jianshu.com/p/a1f879df5639
來源:简书
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/286165.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言试题四十之使字符串中尾部的*号不得多于n个;若多于n个,则删除多于的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。

📃个人主页:个人主页 🔥系列专栏:C语言试题200例目录 💬推荐一款刷算法、笔试、面经、拿大公司offer神器 👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 请编写一个…

Meta http-equiv属性详解

Meta http-equiv属性详解 博客分类: Web综合HTML浏览器IECache搜索引擎 http-equiv顾名思义,相当于http的文件头作用,它可以向浏览器传回一些有用的信息,以帮助正确和精确地显示网页内容,与之对应的属性值为content&am…

MAUI 入门教程系列(3.多目标平台)

前言如果您是第一次创建MAUI项目, 并且在之前也并没有接触过Xamarin.Forms应用, 或许你并不知道MAUI的强大优势, 在原来的Xamarin.Forms当中, 我们基于不同平台的项目他们是单独维护的。如下所示:因为如此, 你需要维护不同平台的项目。包括每个项目当中包含的资源、图像、属性定…

关于质量的联想:消费示范效应

IT业界有新闻说,根据可靠性数据研究专家Rescue.com发布的今年一季度可靠性报告,“五大电脑公司中,联想-IBM的分数高居首位,第二名是华硕,之前的可靠性冠军苹果跌落第三,东芝、惠普-康柏则排在第五”。大部分…

六、注册页功能制作《仿淘票票系统前后端完全制作(除支付外)》

一、注册块内容制作 首先打开在线编辑器进入我们的项目:https://editor.ivx.cn/ 上一节已经知道了如何制作登录块内容,但是咱们先做还没有注册,所以就测试不了登录块功能,现在咱们同样的,在注册块中添加一个变量和一…

【MATLAB统计分析与应用100例】案例002:matlab使用xlsread函数读取excel中的数据

文章目录 1. 读取文件excel表中单元格A2:H4中的数据2. 读取excel第1个工作表中单元格A2:C3中的数据,将数据分别加1后返回3. 读取excel第1个工作表中单元格A2:H2中的数据,将读取到的数据分别加1,返回数值矩阵num,文本矩阵txt,元胞数组raw,变换后数值矩阵X1. 读取文件excel…

美图秀秀首页界面按钮设计(二)

本文实现美图秀秀首页中的按钮,它包含3张图片和一个文本。通过开发按钮,我们可以学到iOS的自定义控件,绘制图片和文本的知识。【声明:本博客只能用作学习用途,不得用于商业用途,图片资源均来自官方&#xf…

C语言试题四十一之请编写一个函数,用来删除字符串中的所有空格。

📃个人主页:个人主页 🔥系列专栏:C语言试题200例目录 💬推荐一款刷算法、笔试、面经、拿大公司offer神器 👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 请编写一个…

第三方免费加固横向对比

前言 基于java开发的android应用由于其语言的特性,所以很容易被反编译,虽然android提供了proguard,但是也只是增加了源码阅读的难度,其中业务逻辑依旧可以分析得出。有些人通过各种破解手段将apk文件破解、反编译,然后…

(02).NET MAUI实战 布局

1.概要既然要做实战开发会建项目之后就需要认识布局控件了&#xff0c;本篇文章分享.NET MAUI中的一些基础常用的布局控件。GridStackLayoutFalyxLayoutAbsoluteLayout2.详细内容(1)Grid语法&#xff1a;<Grid RowDefinitions"50,50,50,50" RowSpacing"10&qu…

[Javascript] Avoid Creating floats if they are not needed

https://channel9.msdn.com/Series/Practical-Performance-Tips-to-Make-Your-HTMLJavaScript-Faster/06?WT.mc_id13400-DEV-sitepoint-article24 转载于:https://www.cnblogs.com/yoyohappy/p/5884629.html

七、后台入口及添加影院实现《仿淘票票系统前后端完全制作(除支付外)》

一、登录后台窗口显示与跳转 首先打开在线编辑器进入我们的项目&#xff1a;https://editor.ivx.cn/ 上一节已经完成了登录和注册功能&#xff0c;在这一节咱们将会实现对应的后台入口进入和一些后台功能的制作。 首先咱们需要记录一下登录的UID&#xff0c;因为咱们后台界面…

正则表达式 学习笔记4.3

下面看看逆序环视结构&#xff1a;publicclassGeneralSix { publicstaticvoidmain(String[] args) { String[] strings newString[]{"see","bee","tee"};String[] regexs newString[]{"(?<s)ee","(?<!s)ee"}; for…

【MATLAB统计分析与应用100例】案例003:matlab调用smooth函数进行加噪数据的平滑处理

文章目录 1. 产生加噪正弦波信号,绘制加噪波形图2. 利用移动平均法对加噪信号进行平滑处理,绘制平滑波形图3. 利用lowess方法对加噪信号进行平滑处理,绘制平滑波形图4. 利用rlowess方法对加噪信号进行平滑处理,绘制平滑波形图5. 利用loess方法对加噪信号进行平滑处理,绘制…

C语言试题四十二之假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部移到字符串的尾部。

📃个人主页:个人主页 🔥系列专栏:C语言试题200例目录 💬推荐一款刷算法、笔试、面经、拿大公司offer神器 👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 请编写一个…

linux curl模拟登录网页

有时在批量抓取网站页面内容时&#xff0c;是需要处于登录状态的&#xff0c;否则无法获取。curl这个强大的工具可以完成这个工作。之前最好也先了解一下http POST方法&#xff0c;网站登录大都是用这个办法。本文基本上参考这篇文章,来自依云s Blog&#xff0c;是archlinux中文…

APP上架到各大应用商店的小总结

转自https://blog.csdn.net/niezhipeng8/article/details/79103436 想要把APP上架到应用市场都要先注册开发者账号才可以。这里的方法包括注册帐号和后期上架及一些需要注意的问题。注意&#xff1a;首次提交应用绝对不能随便删除&#xff0c;否则后面再提交会显示应用APP冲突…

八、影片添加页实现《仿淘票票系统前后端完全制作(除支付外)》

一、影片添加页 首先打开在线编辑器进入我们的项目&#xff1a;https://editor.ivx.cn/ 上一届影院添加页功能已经完成&#xff0c;这一节咱们实现影片添加页内容。 影片添加页如下&#xff1a; 该页面实现起来比较简单&#xff0c;点击图片后使用文件上传组件进行图片上传…

MAUI 通用权限框架(ABP)

简介众所周知, MAUI目前发布正式版本了, 那么对应, MAUI对应的ABP框架也应该马上出现, 这点也恰巧在我的预料之中, 所以在去年年底就开始着手Xamarin.Forms的ABP框架迭代。到目前为止,针对Xamarin.Forms 以及 WPF版本的 ABP框架已经在之前的文章当中给大家介绍过。那么本次主要…

十六、Struts2文件上传与下载

文件上传与下载 1.文件上传前提&#xff1a;<form action"${pageContext.request.contextPath}/*" method"post" enctype"multipart/form-data"> 2.动作类中字段需要符合命名规范 表单字段名&#xff1a;image 动作类&#xff1a;…