2013-07-28 43 views
3

我有一個TextView,當我調用.setText(字符串)時,它顯示字符串完全一樣。 例如,如果字符串中包含「'」,則會顯示'如何格式化textview的字符串android

我該如何解決這個問題?

+0

請提供一個完整的例子,說明您遇到的問題。該示例應該只包含與當前問題相關的代碼,不應引入任何不相關的編譯器錯誤。 –

+0

爲了解決你的問題,你是否確定該字符串包含一個文字撇號?或者它是否包含在某些情況下表示撇號的序列「'」。從你在這裏得到的信息來看,這聽起來像是後者是真實的,你需要找到一種方法在你的'TextView'中顯示文字撇號。 –

+0

我已經提到所有相關的東西。 我有一個字符串,當我嘗試設置TextView的文本時,沒有問題。當我執行代碼時出現問題: 字符串不顯示,因爲它應該。該報價顯示爲',而不僅僅是' – Radu

回答

7

看起來你的外部資源已經完成了從''的轉換,因爲常規的單引號將在TextView中顯示得很好。你能在這種情況下,做的是:

yourTextView.setText(Html.fromHtml(stringSource)); 

其中stringSource是你的字符串是來自外部來源。這將處理的不僅僅是單引號字符。

+0

但是Html.fromHtml(stringSource)返回一個Spanned對象而不是一個字符串。如何處理它,所以我可以得到格式化的字符串? – Radu

+0

完成。我不知道Spanned實現了CharSequence。 非常感謝您的回答,它幫助了我很多:) – Radu

1

java中的單引號需要使用反斜線(\)進行轉義。你可以找到其他需要轉義的字符here

+2

字符串在運行時從外部源讀取。 我無法知道哪些字符會在裏面。 其他想法? – Radu