Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> textView 添加超鏈接(兩種實現方式)

textView 添加超鏈接(兩種實現方式)

編輯:關於Android編程

在textView添加超鏈接,有兩種方式,第一種通過HTML格式化你的網址,一種是設置autolink,讓系統自動識別超鏈接。

代碼如下:

第一種
復制代碼 代碼如下:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout layout = new LinearLayout(this);
LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT);
TextView textView = new TextView(this);
String html = "有問題:\n";
html+="<a href='http://www.baidu.com'>百度一下</a>";//注意這裡必須加上協議號,即http://。

//否則,系統會以為該鏈接是activity,而實際這個activity不存在,程序就崩潰。
CharSequence charSequence = Html.fromHtml(html);

textView.setText(charSequence);

textView.setMovementMethod(LinkMovementMethod.getInstance());
layout.addView(textView);
this.setContentView(layout,params);
}

第二種
復制代碼 代碼如下:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout layout = new LinearLayout(this);
LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT);
TextView textView = new TextView(this);
String html = "有問題:\n";
html+="www.baidu.com";//這裡即使不加協議好HTTP;也能自動被系統識別出來。
textView.setText(html);
textView.setAutoLinkMask(Linkify.ALL);
textView.setMovementMethod(LinkMovementMethod.getInstance());
layout.addView(textView);
this.setContentView(layout,params);
}

總結一下就是,以html顯示超鏈接,必須寫全url。以setAutoLinkMask(Linkify.ALL)可以不用不用寫全,就能自動識別出來。

這兩種方法,都得設置一下setMovementMethod,才會跳轉。
另外setAutoLinkMask不僅 識別超鏈接,包括電話號碼之類的。
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved