聊天TextView中识别数字网址高亮并可点击

原创 2015年11月19日 11:05:52

怎么让聊天会话页面的内容中数字和网址高亮并可点击?但是在编辑状态下不可点击?

在编辑状态下链接变为不可点击。即点item选中CheckBox而不是跳转链接或拨打电话

第一步:

TextView设置属性
android:autoLink="all"//匹配包括none, web, email, phone, map, all
android:linksClickable="true"
就可以高亮电话号网址等。。并可点击进行跳转

第二步:

怎么在编辑状态下使其不可点击
                if (INTERFACE_CODE == INTERFACE_CODE_EDIT){
                    mHolder.tvReceiveBody.setLinksClickable(false);
                }else{
                    mHolder.tvSendBody.setLinksClickable(true);
                }
                mHolder.tvSendBody.setText(body);

通过上面的mHolder.tvReceiveBody.setLinksClickable(false)不好使,在编辑状态下仍然可点击跳转

第三步:

通过查找相关stackoverflow,如下
http://stackoverflow.com/questions/2734270/how-do-i-make-links-in-a-textview-clickable
看到一个解决办法textview.setMovementMethod(LinkMovementMethod.getInstance());

差不多了,回到编译环境看看setMovementMethod方法的注释说明

setMovementMethod方法的注释说明

发现setMovementMethod就是移动跳转的一个方法,参数就是跳转的具体实现,可以为空就不跳转了。SO问题解决:
上面的代码片加一个 mHolder.tvSendBody.setMovementMethod(null);就哦了。如下:



    if (INTERFACE_CODE == INTERFACE_CODE_EDIT){
                    mHolder.tvSendBody.setLinksClickable(false);
                    mHolder.tvSendBody.setMovementMethod(null);
                }else{
                    mHolder.tvSendBody.setLinksClickable(true);
                    mHolder.tvSendBody.setMovementMethod(LinkMovementMethod.getInstance());

                }
                mHolder.tvSendBody.setText(body);

但是setLinksClickable(false);和setMovementMethod(null);二者缺一不可

相关文章推荐

android--设置TextView部分文字的颜色和背景(高亮显示)

设置部分文字背景高亮显示: Java代码  public class HighLightActivity extends Activity {       String strs="我的心太乱了,给我...

简单定制Android控件(1) - 自识别url的TextView

自动识别url的TextView
  • mkfrank
  • mkfrank
  • 2015年11月12日 11:18
  • 1888

Android中textView自动识别电话号码,电子邮件,网址(自动加连接)

其实这个是很简单的,在android中已经为我们实现了,但是我估计很多人都不知道.包括我.所以就写下来供大家看看,学习. 核心的就是在TextView中添加一个属性就行了,添加android:aut...

TextView的textIsSelectable属性和setMovementMethod()

TextView的textIsSelectable属性和setMovementMethod()TextView的textIsSelectable属性可以支持长按文字可以复制,搜索等,而且支持对Text...

android textview自动识别网址,点击长按选择文本

textview xml中加入 android:autoLink="email|phone|web" android:textIsSelectable="true"

实现TextView中link的点击效果

朋友们,你们在TextView处理link的时候是不是一直被苦逼的android默认的方式困扰?每次点击link的时候,点击效果是整个textview来响应。很烂吧?原因就不多赘述了。 那么下面这个...

android中TextView高亮并可以点击

  • 2016年10月17日 15:50
  • 2.37MB
  • 下载

使用textview显示html里面的图文混排效果,并且图片可点击索引到

由于公司要求,需要将网页版的论坛网站改版成手机版的app。 服务器后台过滤掉了论坛帖子的不需要的html标签信息,只留了和\n\r标签。 使用Html.fromHtml可以解析出来图片信息,\n\...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:聊天TextView中识别数字网址高亮并可点击
举报原因:
原因补充:

(最多只允许输入30个字)