textView 添加超鏈接(兩種實(shí)現(xiàn)方式)
更新時(shí)間:2013年06月08日 15:29:24 作者:
在textView添加超鏈接,有兩種方式,第一種通過(guò)HTML格式化你的網(wǎng)址,一種是設(shè)置autolink,讓系統(tǒng)自動(dòng)識(shí)別超鏈接,下面為大家介紹下這兩種方法的實(shí)現(xiàn)
在textView添加超鏈接,有兩種方式,第一種通過(guò)HTML格式化你的網(wǎng)址,一種是設(shè)置autolink,讓系統(tǒng)自動(dòng)識(shí)別超鏈接。
代碼如下:
第一種
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 = "有問(wèn)題:\n";
html+="<a ;//注意這里必須加上協(xié)議號(hào),即http://。
//否則,系統(tǒng)會(huì)以為該鏈接是activity,而實(shí)際這個(gè)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 = "有問(wèn)題:\n";
html+="www.baidu.com";//這里即使不加協(xié)議好HTTP;也能自動(dòng)被系統(tǒng)識(shí)別出來(lái)。
textView.setText(html);
textView.setAutoLinkMask(Linkify.ALL);
textView.setMovementMethod(LinkMovementMethod.getInstance());
layout.addView(textView);
this.setContentView(layout,params);
}
總結(jié)一下就是,以html顯示超鏈接,必須寫全url。以setAutoLinkMask(Linkify.ALL)可以不用不用寫全,就能自動(dòng)識(shí)別出來(lái)。
這兩種方法,都得設(shè)置一下setMovementMethod,才會(huì)跳轉(zhuǎn)。
另外setAutoLinkMask不僅 識(shí)別超鏈接,包括電話號(hào)碼之類的。
代碼如下:
第一種
復(fù)制代碼 代碼如下:
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 = "有問(wèn)題:\n";
html+="<a ;//注意這里必須加上協(xié)議號(hào),即http://。
//否則,系統(tǒng)會(huì)以為該鏈接是activity,而實(shí)際這個(gè)activity不存在,程序就崩潰。
CharSequence charSequence = Html.fromHtml(html);
textView.setText(charSequence);
textView.setMovementMethod(LinkMovementMethod.getInstance());
layout.addView(textView);
this.setContentView(layout,params);
}
第二種
復(fù)制代碼 代碼如下:
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 = "有問(wèn)題:\n";
html+="www.baidu.com";//這里即使不加協(xié)議好HTTP;也能自動(dòng)被系統(tǒng)識(shí)別出來(lái)。
textView.setText(html);
textView.setAutoLinkMask(Linkify.ALL);
textView.setMovementMethod(LinkMovementMethod.getInstance());
layout.addView(textView);
this.setContentView(layout,params);
}
總結(jié)一下就是,以html顯示超鏈接,必須寫全url。以setAutoLinkMask(Linkify.ALL)可以不用不用寫全,就能自動(dòng)識(shí)別出來(lái)。
這兩種方法,都得設(shè)置一下setMovementMethod,才會(huì)跳轉(zhuǎn)。
另外setAutoLinkMask不僅 識(shí)別超鏈接,包括電話號(hào)碼之類的。
相關(guān)文章
android H5本地緩存加載優(yōu)化的實(shí)戰(zhàn)
這篇文章主要介紹了android H5本地緩存加載優(yōu)化的實(shí)戰(zhàn),幫助大家更好的理解和學(xué)習(xí)使用Android,感興趣的朋友可以了解下2021-04-04Android實(shí)現(xiàn)密碼明密文切換(小眼睛)
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)密碼明密文切換,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08Android學(xué)習(xí)教程之2D繪圖基礎(chǔ)及繪制太極圖
這篇文章主要給大家介紹了Android中2D繪圖基礎(chǔ)的相關(guān)資料,文中介紹了繪圖的基礎(chǔ)內(nèi)容,以及通過(guò)Canvas和Paint實(shí)現(xiàn)繪制太極圖的詳細(xì)過(guò)程,對(duì)各位Android新手開(kāi)發(fā)者們具有一定的參考價(jià)值,需要的朋友下面來(lái)一起看看吧。2017-04-04Android View進(jìn)行手勢(shì)識(shí)別詳解
本文主要介紹 Android View進(jìn)行手勢(shì)識(shí)別,這里整理了相關(guān)資料和簡(jiǎn)單示例,有興趣的小伙伴可以參考下2016-08-08Android中HttpURLConnection與HttpClient的使用與封裝
這篇文章主要介紹了Android中HttpURLConnection與HttpClient的使用以及封裝方法,感興趣的小伙伴們可以參考一下2016-03-03Android開(kāi)發(fā)數(shù)據(jù)結(jié)構(gòu)算法ArrayList源碼詳解
這篇文章主要為大家介紹了Android開(kāi)發(fā)數(shù)據(jù)結(jié)構(gòu)算法ArrayList源碼詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10