Android TextView中链接(link)点击事件的截取
2013-08-01 17:11
477 查看
<TextView android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/test_note" android:autoLink="all />
package com.jayce.testlink; import android.net.Uri; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.text.Spannable; import android.text.SpannableStringBuilder; import android.text.style.ClickableSpan; import android.text.style.URLSpan; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.TextView; public class TextLinkActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_text_link); TextView tv = (TextView)findViewById(R.id.test_note); CharSequence text = tv.getText(); /* * 以下是textview的内容(这里给了3个示例链接和一个普通字符串) * 13888888888 * www.google.com * test@gmail.com * jaycetest */ if (text instanceof Spannable) { int end = text.length(); Spannable sp = (Spannable) tv.getText(); URLSpan[] spans = sp.getSpans(0, end, URLSpan.class); SpannableStringBuilder style = new SpannableStringBuilder(text); style.clearSpans();// should clear old spans for (URLSpan span : spans) { JayceSpan mySpan = new JayceSpan(span.getURL()); style.setSpan(mySpan, sp.getSpanStart(span), sp.getSpanEnd(span), Spannable.SPAN_EXCLUSIVE_INCLUSIVE); } tv.setText(style); } tv.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub /* * 这里是对所有点击消息的监听 * 可以把链接的做标记剔除后监听非链接的点击 * 比如jaycetest区域的点击 */ }}); } private class JayceSpan extends ClickableSpan { private String mSpan; JayceSpan(String span) { mSpan = span; } @Override public void onClick(View widget) { Log.e("jayce", "span:" + mSpan); /*链接被点击 * 这里可以做一些自己定义的操作 */ Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse(mSpan)); startActivity(intent); } } }
相关文章推荐
- Android TextView中链接(link)点击事件的截取
- Android TextView中链接(link)点击事件的截取
- Android TextView中链接(link)点击事件的截取
- android TextView中超链接的事件捕捉(textview上LINK的点击事件)
- 转:android TextView中超链接的事件捕捉(textview上LINK的点击事件)
- android TextView中超链接的事件捕捉(textview上LINK的点击事件)
- android textview 自动链接网址 修改默认点击事件
- Android之TextView------LINK的点击事件
- Android学习—— TextView ClickableSpan 点击链接事件 改超链接颜色
- android textview 自动链接网址 修改默认点击事件
- Android自定义TextView链接点击和长按事件
- textview设置属性autolink后,点击网址链接如何捕捉到点击事件或者如何让其跳转到特定的app activity中
- Android之TextView------LINK的点击事件
- Android Launcher 解决BubbleTextView 点击事件只在ICON上面触发,防止误触
- Android TextView 给文本中指定片段添加自定义点击事件
- android 自定义TextView中Html超链接点击事件详解
- android textview 自动连接网址及修改默认点击事件
- android textview可以设置文字颜色 部分文字点击事件处理
- Android自定义TextView中的超链接点击事件处理
- Android 给TextView添加点击事件