2012-07-10 137 views
6

爲什麼TextView超鏈接無法使用。TextView超鏈接不工作?

在自定義dialog box中使用超鏈接。

超鏈接沒有出現。

我錯了。如何解決它。給我指導。

XML代碼

<TextView 
android:id="@+id/google_Link" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_gravity="center" 
android:gravity="center" 
android:padding="10dip" 
android:textSize="20dip" 
android:linksClickable="true" 
android:autoLink="all" 
android:textColorLink="#306EFF" 
android:text="" /> 

Android的代碼是

TextView googleLink = (TextView) layout.findViewById(R.id.google_Link); 
googleLink.setClickable(true); 
googleLink.setMovementMethod(LinkMovementMethod.getInstance()); 
googleLink.setText(Html.fromHtml("<a href=`http://www.google.co.in`>Google</a>")); 

Android清單代碼是提前

<action android:name="android.intent.action.VIEW" /> 
<category android:name="android.intent.category.DEFAULT" /> 
<category android:name="android.intent.category.BROWSABLE" /> 

謝謝。

+0

反引號不是在HTML用於字符串分隔符。使用Java中的'\「在嵌入引號的字符串中引用引號,同時也拋棄了'setClickable()'和'setMovementMethod()',因爲這些應該由你提出的'TextView'內容來處理。 – CommonsWare 2012-07-10 12:37:43

回答

5

只更換這個環節,它的工作:

 TextView textView=(TextView) findViewById(R.id.link); 
     textView.setClickable(true); 
     String linkTxt=getResources().getString(R.string.link); 
     textView.setMovementMethod(LinkMovementMethod.getInstance()); 
     textView.setText(Html.fromHtml(linkTxt)); 

在strings.xml中添加這樣的:

<string name="link">&lt;a href=http://www.google.co.in&gt;Google&lt;/a&gt;</string> 
+0

謝謝。它的工作。但如何添加我的自定義標題Google。 – Sekar 2012-07-10 12:57:04

+0

謝謝阿卡什。它正在工作。 – Sekar 2012-07-11 07:13:39

+0

它不能正常工作 – JosephM 2017-06-02 11:11:25

0

它不工作,因爲您不能將href設置爲TextView

你需要設置具有這種在它的onClick方法的OnClickListener:

String url = "http://www.google.co.in"; 
Intent i = new Intent(Intent.ACTION_VIEW); 
i.setData(Uri.parse(url)); 
startActivity(i); 

之後,你可以監聽設置爲您TextView這樣的:googleLink.setOnClickListener(myListener);

然後再次運行該應用程序並且點擊應該被正確處理。

+0

謝謝。這是工作,但超鏈接不會出現。如何設置超鏈接。 – Sekar 2012-07-10 12:45:50

+0

您可以使用'TextView'的setText(「http://www.google.co.in」)方法。 – keyboardsurfer 2012-07-10 12:52:27

+0

謝謝。但是當我可以使用setText(「Google」);''TextView'的方法時,超鏈接不會出現 – Sekar 2012-07-10 13:07:24