2012-09-26 50 views
1

這是我的Strings.xml文件中的html元素。
單擊鏈接時發送郵件

<string name="five"> 
      <![CDATA[ 
     <HTML> 
     <Body> 
     <p>.................Some Text....................... 

     <br><br>Feel free to contact us at<br> <font color="#add8e6">[email protected]</font></p> 
     </body> 
     </HTML> 
      ]]> 
     </string> 

現在,當用戶點擊[email protected],我想雅虎郵箱或Gmail或曾經郵件應用程序存在於用戶的手機開闢和[email protected]填滿TO :領域。有這樣的可能嗎?

回答

1

當你設置,您可以使用文本(假設你已經檢索到的字符串轉換成一個變量,名爲文本,並referenciing一個名爲的TextView的TextView)

textView.setText(Html.fromHtml(text)); 

當設置你的佈局也可以在包含五個字符串的Views中聲明android:autolink="email"

自動鏈接說明:「控制是否自動找到鏈接,如網址和電子郵件地址,並將其轉換爲可點擊鏈接。」即視圖中的文本被解析,並且文本中的任何(在這種情況下)電子郵件地址都被轉換爲可點擊的鏈接。


在文本android:autolink="email"你的其他HTML標籤的情況下將不會被處理,並會顯示,因爲它們是上面(而不是已處理的HTML文檔)。

Html.fromHtml()將處理HTML標籤並處理正確的格式標籤。

+0

我只想讓電子郵件ID可點擊的實際顯示。不是整個textView。 – Ashwin

+0

啊哈..在每種情況下,這隻會使鏈接可點擊。在Html.fromHtml的情況下,你的字符串需要包含一個有效的a和href mailto。我認爲android:autolink會在文本中選取任何電子郵件地址。 –

+0

是的android:autoLink =「電子郵件」做了伎倆。 – Ashwin

0

看看Androids Linkify類。

舉個例子,如果你這樣做:

Linkify.addLinks(myTextView, Linkify.EMAIL_ADDRESSES); 

在TextView的任何電子郵件地址時,可以點擊和點擊時,適當的對話框將顯示給用戶。

Ofcourse,這是假設你的字符串內TextView

+0

整個字符串在文本視圖中..我只想鏈接電子郵件地址。 – Ashwin

+0

Linkify.EMAIL_ADDRESSES參數將確保只有有效的電子郵件地址是可點擊的,而不是textview中的任何其他文本。例如,如果文本是:「嘿!你好嗎?這是我的新電子郵件:[email protected]」,那麼它只會創建一個「[email protected]」的鏈接,沒有別的。此外,它還將自動確保可以處理電子郵件地址的應用程序在用戶點擊文本時向用戶顯示的對話框中可見 – zeiger