2013-10-11 18 views
0

例如:看看下面的字符串資源:如何製作一個鏈接INSIDE字符串資源(以及其中的其他文本)? - Android電子

<string name="b1b">This link will take you to google.com. More text here.</string> 

現在我想這個字符串資源,看起來像這樣在我的應用程序:

此鏈接將帶您到Google 。這裏有更多文字。

我不能使用三個textview。這只是一個例子。所以我不能讓整個textview成爲一個鏈接。

(爲什麼? 我在我的應用程序中做了什麼...我有十幾個按鈕,他們每個人都會發送一個字符串資源ID作爲「文本淋浴活動」的意圖......而且我只是一個單獨的textview根據用戶點擊哪個按鈕顯示不同的文本所以,我節省了應用程序的大小

再加上每個這樣的文本字符串資源在不同的地方有不同數量的鏈接,所以不可行一個單一的文本視圖僅用於鏈接,並以某種方式編織它之間。)

所以,我需要使一點點的字符串資源鏈接。我試過<a>沒有效果。

如何做到這一點?

+0

你想要「此鏈接將帶你到google.com」。使它成爲一個鏈接? – Goofy

+0

我只想{「TEXT HERE」+ LINK +「TEXT HERE」} ...在單個文本視圖中。 {...}是一個資源 – Zenis

回答

1

示例XML資源:

</string name="mlink"> to go to Google<![CDATA[ <a href="http://google.com">click here</a>]]> and <![CDATA[<a href="http://yahoo.com">this</a>]]> moves you to yahoo! </string> 

的Java:

yourTextView.setMovementMethod(LinkMovementMethod.getInstance()); 
    yourTextView.setText(Html.fromHtml(getString(R.string.mlink))); 

請注意,您需要把CDATA標籤內的HTML鏈接,這是使用字符串資源鏈接的正確方法。仔細檢查支架CDATA,Eclipse應該正確的在CDATA部分的右邊。

+0

嘿!這很好,但是...它把我的格式化扔到了垃圾桶裏......對於其中一個,它現在忽略了所有換行符......但是鏈接起作用......如何恢復格式化? – Zenis

+0

我還沒有嘗試過,但你應該看看http://stackoverflow.com/questions/9121799/html-fromhtml-removes-carriage-returs-xd-n和類似的問題 – Droidman

相關問題