2011-10-25 93 views
0

我想使用linkify製作可點擊的文字。當名稱被點擊時,我想打電話給電子郵件意向。但是,電子郵件地址與linkify不同。有什麼方法可以通過linkify做一個mailto:[email protected],當你將模式設置爲「Specific Name」時?這裏是我的示例代碼:鏈接文本發送電子郵件?

final TextView tx1=new TextView(this); 
tx1.setAutoLinkMask(0); 
Pattern pattern = Pattern.compile("John Doe"); 
Linkify.addLinks(tx1, pattern, "mailto:[email protected]"); 

正如你可以在這裏看到,這個問題是電子郵件的意圖填補了話題:「[email protected]母鹿」。這是一個明顯的結果,但我不知道如何截斷模式文本的方案....感謝您的幫助。

ps的,如果你知道的另一種方式,不涉及linkify,你獲得信貸以及:)

回答

2

我有一個非Linkify答案:

final TextView tx1 = (TextView) findViewById(R.id.email); 
String name = "John Doe"; 
String email = "[email protected]"; 

tx1.setText(Html.fromHtml("<a href=\"mailto:"+email+"\">"+name+"</a>")); 
tx1.setMovementMethod(LinkMovementMethod.getInstance()); 

但有可能是一個更好的方式來做到這一點。

+0

我曾經考慮過這個,但對文本的硬編碼並不瘋狂......這是一個很長的字符串 – benbeel