android textview 自动链接网址 修改默认点击事件
16lz
2021-01-23
1 修改XML文件即可,android:autoLink="web"
[code=xml"]
<TextView
android:id="@+id/text_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:autoLink="all"
android:text="@string/hello" />
autoLink有好几种类型:web phone all等。
2 修改链接的默认点击事件
[code=xml"]
<TextView
android:id="@+id/text_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:autoLink="all"
android:text="@string/hello" />
autoLink有好几种类型:web phone all等。
2 修改链接的默认点击事件
public class HtmlAllTestActivity extends Activity{private TextView tv;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);this.tv = (TextView)findViewById(R.id.text_view);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 spansfor (URLSpan url : urls) {MyURLSpan myURLSpan = new MyURLSpan(url.getURL());style.setSpan(myURLSpan, sp.getSpanStart(url), sp.getSpanEnd(url), Spannable.SPAN_EXCLUSIVE_INCLUSIVE);}tv.setText(style);}}private class MyURLSpan extends ClickableSpan {private String mUrl;MyURLSpan(String url) {mUrl = url;}@Overridepublic void onClick(View widget) {Toast.makeText(HtmlAllTestActivity.this, mUrl, Toast.LENGTH_LONG).show();widget.setBackgroundColor(Color.parseColor("#00000000"));}}}
更多相关文章
- android 触发AppWidget上控件事件来更新AppWidget
- Java/Android引用类型及其使用分析
- Android 事件触发机制
- Android 技巧 - listview 里面的图片不能响应onClick事件?
- Android 可响应drawable点击事件的TextView
- 81.s1-禁用checkBox点击事件
- Android 按钮点击两次触发不同的事件
- Android获取通话记录【名称,号码,日期,通话时间,类型】
- Android开发:Activity初始化时屏蔽EditText的自动获取焦点的事件