2015-08-24 45 views
1

我有很多的字符串是這樣的:的Android - HTML中的strings.xml和GetString()

<string name="exponent_key">x<sup><small>y</small></sup></string> 

而當我設一個TextView的文本,在XML佈局文件,結果是正確的上標'Y'。

但是如果我使用getString()(或事件試圖檢索文本,從上述的TextView,使用.getText()),然後使用setText()應用的變化,「Y」被變回正常的文本(所以結果只是'xy')。

可以解決這個問題嗎?我希望html代碼保留在字符串中,以便我可以使用.replace()將x和y與實際數字交換,以便它看起來像真正的數學格式。有很多這樣的運算符字符串,因此手動重新添加每個html都很困難。

以防萬一你想看到我的程序:https://dl.dropboxusercontent.com/u/62863300/Random/ScientificCalculator.zip

+1

[string in string resource?]中的可能重複(http://stackoverflow.com/問題/ 2667319/html-in-string-resource) – Sebastian

+0

啊是的!在閱讀第一個答案後我通過了這篇文章。所以基本上我不會將文本轉換爲字符串?留下字符序列? – Dylanthepiguy

回答

3

但是如果我使用的getString()(或事件試圖檢索文本,從 TextView的上面提到的,使用.getText())然後使用setText() 來應用更改,'y'被改回到普通文本(因此 結果只是'xy')。

如果您使用getResources().getString(),那麼你必須的Html.fromHtml結果傳遞給setText()TextView.getText()返回CharSequence,它是StringSpannable(等等)的超類。如果您將getString的返回值分配給CharSequence,但不呼叫toString(),然後將其傳回至setText,它將保持其樣式

+0

我會看看我可以做些什麼來將操作員作爲CharSequence離開。編輯:我如何用「某些東西」替換「y」? – Dylanthepiguy

+0

我應該問一個單獨的問題嗎? – Dylanthepiguy

+0

我會問一個單獨的問題。我似乎無法找到任何東西。 – Dylanthepiguy