android textview 自动连接网址及修改默认点击事件
16lz
2021-01-23
1 修改XML文件即可,android:autoLink="web"
<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、autoLink有好几种类型:web phone all等。
public class MainActivity extends Activity {TextView tv;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tv = (TextView) findViewById(R.id.tv);CharSequence text = tv.getText();if (text instanceof Spannable) {int end = text.length();Spannable sp = (Spannable) text;URLSpan urls[] = sp.getSpans(0, end, URLSpan.class);SpannableStringBuilder style = new SpannableStringBuilder(text);style.clearSpans();for (URLSpan urlSpan : urls) {MyURLSpan myURLSpan = new MyURLSpan(urlSpan.getURL());style.setSpan(myURLSpan, sp.getSpanStart(urlSpan),sp.getSpanEnd(urlSpan),Spannable.SPAN_EXCLUSIVE_INCLUSIVE);}tv.setText(style);}}private class MyURLSpan extends ClickableSpan {private String url;public MyURLSpan(String url) {this.url = url;}@Overridepublic void onClick(View arg0) {Toast.makeText(MainActivity.this, url, Toast.LENGTH_LONG).show();}}}
更多相关文章
- android中加载assets中的资源文件
- Android开发 - 丰富常用的颜色文件colors.xml
- 学习Android之setDataAndType(利用第三方应用程序打开各种文件)
- 根据文件名称修改安卓默认的蓝牙接收文件地址
- 赵雅智_AndroidManifest.xml配置文件详解
- 通过xml布局文件实现按钮改变焦点设置背景图片
- 在deepin系统中adb操作android文件的方法