问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何在TextView中的部分文字上响应点击事件

发布网友 发布时间:2022-05-25 02:31

我来回答

1个回答

热心网友 时间:2023-11-25 05:30

您好,很高兴为您解答。

package com.TextHtml; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.text.Html; import android.text.Spannable; import android.text.SpannableStringBuilder; import android.text.method.LinkMovementMethod; import android.text.style.ClickableSpan; import android.text.style.URLSpan; import android.view.View; import android.widget.TextView; import android.widget.Toast; public class TextHtml extends Activity { /* * Called when the activity is first created. */ private TextView tv; static Context ctx = null ; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ctx = this ; tv = (TextView) findViewById(R.id.tv); String htmlLinkText= " <a href=\\" +"<a href="www.baidu.com/><u">www.baidu.com/><u</a>>我的CSDN博客 </u></a>"; tv.setText(Html.fromHtml(htmlLinkText)); tv.setMovementMethod(LinkMovementMethod.getInstance()); CharSequence text = tv.getText(); if (text instanceof Spannable){ int end = text.length(); Spannable sp = (Spannable)tv.getText(); URLSpan[] urls = sp.getSpans( 0 , end, URLSpan. class ); SpannableStringBuilder style = new SpannableStringBuilder(text); style.clearSpans(); // should clear old spans for (URLSpan url : urls){ MyURLSpan myURLSpan = new MyURLSpan(url.getURL()); style.setSpan(myURLSpan,sp.getSpanStart(url),sp.getSpanEnd(url),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); } tv.setText(style); } } private static class MyURLSpan extends ClickableSpan{ private String mUrl; MyURLSpan(String url) { mUrl = url; } @Override public void onClick(View widget) { // TODO Auto-generated method stub Toast.makeText(ctx, " hello! " ,Toast.LENGTH_LONG).show(); } } }
如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么我在电脑上面下的电影在手机上面不显示? 为什么视频在手机里放不出来在电脑里放得出来? 求问bb霜什么牌‍子‍好 BB霜哪个牌子的比较好啊? 我用很多BB霜都过敏脱皮,该用哪个牌子的才能不过敏?拜托了各位 谢谢... 没有去继续教育会计证会不会被吊销? 会计证连续几年未继续教育会被吊销 我想请问,能不能从视频里抓出一段声音,然后保存,变成手机铃声的那种格式... 高中地理知识如何描述地貌特征 中国地理第一讲:自然地理之河流 C#设置Response.Write输出字体的大小、颜色等 android中怎么设置没一个string的颜色 spannableString怎么转换成图片 有没有人知道,android字体外发光的效果是如何实现的? 安卓中autoCompleteTextview的下拉栏中字体颜色怎么改 android中文本框中换行后的一行字体颜色怎么设置? 手机丢失了,能用以前找到手机的位置吗? 安徽公务员考试县公安局会计属于b类,要考体能测试么??? 我在手机呼叫*中设置了禁止来电,但是换了手机后输入了三次出现了密码已锁住,该怎么办? 手机呼叫限制的密码被锁定怎么办 红米1s拨号键被锁住咋解锁 三星手机指定拨号被锁定了怎么办?怎么解锁 请问什么是发酵工业? 兰州市有没有养仓鼠的好心人,送我只自己繁殖的仓鼠,我在兰大上学,谢谢了 目前补料分批培养在发酵工业中应用的主要生产过程有哪些 从工业发酵的角度来说,种子的制备分成哪几个阶段 可以用哥哥的公积金买房吗? 发酵生产的原料有哪些? 谁想养猫?我在兰州 我想用公积金帮我哥还贷,想知道如果以后我自己买房时,用自己的公积金还贷的话还算首套房吗? android updatedrawstate什么时候调用 textview可以设置监听么 安卓中autocompleteview的下拉栏中字体颜色怎么改? spannablestringbuilder 在listview adapter中 卡吗 室温20摄氏度,冰箱调2挡,用了一晚上,冷藏室结了一层冰,这是为什么? 为什么我家的冰箱温度调到2了,结果下面冷藏室都还结满了冰块? 请问冰箱里老结冰,怎么回事,档位调到二的,原先也不这样,该怎么处理? 如何查wxid对应的? 海尔bcd215ks制冷档位数字越大,冷藏室内温度越低,通常调3档,但我调2冷藏室仍然出现结冰,冰豆,为什么? 各位大神,这洗衣机怎么使用? wxid开头的可以查到不? wxid开头怎样搜索的到呢,求解、有重携 怎么查wxid查到微信 Wxid后面是乱码怎么查 wxid开头的怎么加好友 查询结果是找不到相关账号。可是他的信息显示的就是那么多 wxid开头怎样搜索的到呢,求解、有重携 如何通过wxid查找到码? wxid开头的可以查到不? 为什么wxid开头的查不到账号 原始wxid怎么加好友