程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> textview-android怎麼把數據庫哭顯示出來的網址顯示成超鏈接

textview-android怎麼把數據庫哭顯示出來的網址顯示成超鏈接

編輯:編程綜合問答
android怎麼把數據庫哭顯示出來的網址顯示成超鏈接

做了一個textview 想把數據庫裡查詢出來的網址顯示成超鏈接 求詳細點 新手 謝謝

最佳回答:


 在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+="百度一下";//注意這裡必須加上協議號,即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 © 程式師世界 All Rights Reserved