2015-09-17 16 views
2

我在一個字符串資源有一個電子郵件地址:電子郵件中的字符串資源

<string name="send_email">Send us an email [email protected]</string> 

此字符串資源是正在使用的一個適配器列表視圖的字符串數組的一部分。

有沒有辦法讓電子郵件地址成爲一個鏈接,以便在點擊它時打開郵件客戶端? 我看過linkify,但從我看到它只適用於textViews。

任何想法?

謝謝!

+0

你可能想看看[顯示在ListView HTML(http://stackoverflow.com/questions/9678234/android-display- html-in-a-listview) – dhke

回答

1

在你用的電子郵件地址填充列表項的XML視圖將其添加到XML

android:autoLink="email" 

您還可以使用Linkify類來使每個鏈接和電子郵件地址在您的列表中可單擊。是的,它適用於textviews,但Listview包含可以訪問的文本視圖。您可以爲您的Listview適配器使用自定義視圖,也可以使用android提供的標準簡單視圖,但這些視圖也可以由您可以訪問的文本視圖組成。

+0

請注意,在執行此操作之前,您應該先拆分字符串資源。 – Scadge

0

的OnClick上的郵件地址,只需要使用下面的代碼來調用的意圖

Intent intent = new Intent(Intent.ACTION_SEND); 
intent.setType("plain/text"); 
intent.putExtra(Intent.EXTRA_EMAIL, new String[] { "[email protected]" });// selected email adress. 
intent.putExtra(Intent.EXTRA_SUBJECT, "subject"); 
intent.putExtra(Intent.EXTRA_TEXT, "mail body"); 
startActivity(Intent.createChooser(intent, "")); 
1

您可以使用以下代碼使文本可鏈接:

SpannableString ss1= new SpannableString(s); 
     ss1.setSpan(new RelativeSizeSpan(1.1f), 0,6, 0); // set size 
     ss1.setSpan(new ForegroundColorSpan(Color.RED), 0, 6, 0);// It will set first six letter to red color 
     SpannableString ss = new SpannableString("Click here to learn more"); 
     ss.setSpan(clickableSpan, 0, 10, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); // It will make first 10 letters to clickable 
     tv.setText(ss); 
     tv.setMovementMethod(LinkMovementMethod.getInstance()); 
     tv.setText(ss1); 
相關問題