关闭

TextView如何给其中的某一段文字添加点击事件?

标签: TextView如何给其中的某一段文字添
1261人阅读 评论(1) 收藏 举报
分类:
时不时的在开发中,产品就会搞一些特殊的需求,比如去年的时候,就写了一个需求,让在一段文字的某个文字下用户点击的时候跳转到某个页面,那么遇到这种情况下,我们该如何实现呢?
就比如去年的需求,在下面一段文字中,点击配置方案报告时跳到指定的页面:
private String message="历史配置方案请到配置方案报告中查看。如果您还有其他疑问,互动模块将有资深的理财规划师为您服务!";
具体实现方式如下:
      protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
      TextView mTv=(TextView)findViewById(R.id.tv);
      mTv.setText(getClickableSpan());
      mTv.setMovementMethod(LinkMovementMethod.getInstance());
    }

private CharSequence getClickableSpan() { 
 View.OnClickListener l = new View.OnClickListener() {
           @Override
           public void onClick(View v) {
//点击事件
            Toast.makeText(MainActivity.this, "点击我了", Toast.LENGTH_LONG).show();
           }
       };
       SpannableString spanableInfo = new SpannableString(message);
       int start = 11;
       int end = 16;
       spanableInfo.setSpan(new Clickable(l), start, end, Spanned.SPAN_MARK_MARK);
       return spanableInfo;
}

class Clickable extends ClickableSpan implements OnClickListener {
       private final View.OnClickListener mListener;
       public Clickable(View.OnClickListener l) {
           mListener = l;
       }


       @Override
       public void onClick(View v) {
           mListener.onClick(v);
       }


       @Override
       public void updateDrawState(TextPaint ds) {
           super.updateDrawState(ds);
           //ds.setColor(color.transparent);//设置字体颜色
           //ds.setColor(color.holo_blue_bright);
          ds.setUnderlineText(false);
       }
   }
0
0
查看评论

TextView如何给其中的某一段文字添加颜色?

有这样一个需求,比如定义一个字符串,如下message,想要把“文字”两个字变成红色,那么应该如何实现呢?很简单的一个实现方式就是用Html进行标签化实现。 String message="这是一段文字,用来设置颜色"; 实现方法如下: String message=&qu...
  • ming_147
  • ming_147
  • 2016-08-29 11:42
  • 582

TextView中的部分文字响应点击事件

TextView是android常用的控件,经常要显示不同文字的大小,颜色,......今天要实现这样这样一个需求,TextView某段内容显示的文字颜色不一样,并且点击区域只能是改变了颜色的字. 1.给TextView设置设置文字背景为透明色,不然会有点击选中效果. 我参考的博客地址...
  • lowprofile_coding
  • lowprofile_coding
  • 2015-08-31 19:07
  • 7421

android 给textview部分文字设置点击事件

使用SpannableString。 class Clickable extends ClickableSpan implements View.OnClickListener { private final View.OnClickListener mListener; public C...
  • u014100775
  • u014100775
  • 2016-01-11 11:41
  • 5925

android 为TextView的部分文字设置超链接样式并监听点击事件

android 为TextView的部分文字设置超链接样式并监听点击事件
  • centralperk
  • centralperk
  • 2015-09-11 11:24
  • 7485

Android_TextView中部分文字响应事件

tips:本博客Github上的Demo链接:https://github.com/chengbiao1314/android_ViewAttribute.git 之前写过一篇关于Spannable实现同一个TextView显示多风格效果的博客:http://blog.csdn.net/u01...
  • u013035016
  • u013035016
  • 2016-04-16 11:25
  • 744

Android给TextView添加点击事件

1.界面 首先设定TextView的clickable属性为true。 可以在布局文件中进行设定,比如:<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=...
  • qq_29134495
  • qq_29134495
  • 2016-05-14 01:16
  • 3405

Android富文本实现不同的文字添加点击事件

如果可以点击的文字位置是固定不变的,可以在String.xml中配置(如:“可以点击的”给“点击”设置点击事件)。 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInst...
  • w_steadfast
  • w_steadfast
  • 2017-07-26 17:14
  • 571

Android同一个TextView里响应多个区域点击事件

有时会遇到在一个TextView里处理特定字符串的点击事件,而且这些字符串位置不固定,这里就是通过正则筛选然后单独对字符串处理点击事件.
  • sinat_22553227
  • sinat_22553227
  • 2015-12-13 12:00
  • 2528

为 TextView 的部分文字设置超链接样式并监听点击事件

TextView的部分文字设置超链接样式并监听点击事件 修改TextView中部分文字的颜色 flags对一段文字设置一些标识TextView的部分文字设置超链接样式并监听点击事件 package com.yonga.demo; import android.app.Activity; imp...
  • lgy64422575
  • lgy64422575
  • 2015-12-30 10:01
  • 906

给TextView中的部分文本添加链接的两种方式

方式一:在布局文件中给TextView制定autoLink属性,例如: <TextView android:id="@+id/tv2" android:layout_width="wrap_content" ...
  • yinzhijiezhan
  • yinzhijiezhan
  • 2015-07-27 16:02
  • 862
    个人资料
    • 访问:58620次
    • 积分:1419
    • 等级:
    • 排名:千里之外
    • 原创:79篇
    • 转载:2篇
    • 译文:0篇
    • 评论:58条
    更多技术请关注我的微信公众号
    博客专栏
    文章分类