2012-03-15 71 views
7

我正在設計一個應用程序,其中有TextView,並根據一些檢查條件,我想在TextView中鏈接/電話號碼可點擊Java端。我可以做這個,我不想讓它點擊默認情況下它是通過XML文件設置鏈接點擊在Java-Android

android:autoLink="all" 

我已經嘗試設置完成: 創建定期的TextView並沒有設置自動鏈接=「所有」 ,

 TextView myView = 
       (TextView)view.findViewById(R.id.thisIstheTextView); 
     myView .setLinksClickable(true); 

也試過:

 myView .setMovementMethod(LinkMovementMethod.getInstance()); 

上面的Java代碼中沒有工作,我不想預先設計的XML TextView中啓用了自動鏈接,我想改變TextView的行爲在基於if()條件的Java代碼中。我的代碼沒有錯誤,但我無法實現我想要的。你能分享你的知識嗎?謝謝。

+0

http://stackoverflow.com/questions/9380349/html-a-tag-not-working-in-android-textview/9380417#9380417 – 2012-03-15 18:34:14

回答

5

Linkify.addLinks(myView,Linkify.ALL); 解決了這個問題。

13

使用setAutoLinkMask (int mask)

可爲mask組合的可能值是爲Linkify類定義的值。

+0

謝謝。雖然這是android:autoLink的等價方法,但它仍然不起作用。 – 2012-03-15 23:35:45

+9

對不起,我不同意 - 它確實有效。你需要在調用'setText(...)'之前調用它,儘管它在文本中已經包含文本後不會改變「TextView」中的鏈接。根據您希望顯示爲「可點擊/鏈接項目(電話號碼等)」的方式,根據某些檢查條件,您的問題被問及如何更改「TextView」的行爲。我以爲你會做檢查,然後設置自動鏈接掩碼,然後設置文本。 – Squonk 2012-03-16 00:09:12

+1

使用像這樣的Linkify常量tex​​tView.setAutoLinkMask(Linkify.WEB_URLS); – 2015-01-08 07:26:59