TxetView嵌套Html的使用
在Android里面 我们设置组件通常是XML文件进行设计,
但是在java代码里面也可以插入Html语言进行嵌套,然而
如果我们不使用Html嵌套的话,要实现跳转超链接就要通过
Intent来实现。
运行效果图:
点击百度一下:
布局文件
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/tv1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20sp" />
<TextView
android:id="@+id/tv2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:autoLink="all" />
</LinearLayout>
MainActivity.java
package com.example.textviewdemo;
import android.app.Activity;
import android.os.Bundle;
import android.text.Html;
import android.text.method.LinkMovementMethod;
import android.widget.TextView;
public class MainActivity extends Activity {
private TextView tv1 = null;
private TextView tv2 = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv1 = (TextView) findViewById(R.id.tv1);
tv2 = (TextView) findViewById(R.id.tv2);
String html = "<a href='http://www.baidu.com'>百度一下</a>";
CharSequence charSequence = Html.fromHtml(html);
tv1.setText(charSequence);
tv1.setMovementMethod(LinkMovementMethod.getInstance());
String text = "我的微博:http://www.sina.com";
tv2.setText(text);
tv2.setMovementMethod(LinkMovementMethod.getInstance());
}
}
核心代码:
CharSequence charSequence = Html.fromHtml(html);
tv1.setText(charSequence);
tv1.setMovementMethod(LinkMovementMethod.getInstance());