2012-02-22 11 views

答えて

14

Html.fromHtml()を使用すると、TextViewに表示できるSpannableにHTML形式のテキストを処理できます。

+0

感謝を見て、私が必要としている厥! – yital9

+0

問題はありませんが、答えを受け入れるようにしてください。 – draksia

6

Unicode値が分かっている場合は、任意のUTF-8文字を表示できます。たとえば、"の場合は&\#0034;になります。

は、より多くの情報のために(Code Tableで)Unicode Charactersを参照してください。

+0

これは問題です。私はそのような形式の文字を持っています。私はそれを表示する必要があります。 Html.fromHtml()はこれを行うのに役立ちます – yital9

+0

Happaa ... !!あなたは私のknossosを救った.. !! +1は私のために働き、あなたは私を残りの日に救った。 –

+1

また、商標記号である\ u2122という形式を使用することもできます。 – Knossos

2

私はこのソリューションを実装しました。

Activityクラス:

textView.setText(getString(R.string.author_quote, "To be or not to be", "Shakespeare")) 

のstrings.xml:

<string name="author_quote">&#171; %1$s &#187; - %2$s</string> 

HTMLの文字が直接のstrings.xmlで書かれているが、追加のHtml.fromHtml()は必要ありません。すべてのデバイスで正常に動作します。

0

すべてのユニコードをヘキサから整数に変換し、実際の文字列に置き換えるカスタムメソッドを作成しました。 テキストビューはユニコードとして読み取ることができます。 は公共の文字列unecodeStr(文字列escapedStringに){

...これはあなたの問題を解決する、

try { 
     String str; 
     int from = 0; 
     int index = escapedString.indexOf("\\u", 0); 
     while (index > -1) { 
      str = escapedString.substring(index, index + 6).replace("\\u", ""); 
      try { 
       Integer iI = Integer.parseInt(str, 16); 
       char[] chaCha = Character.toChars(iI); 
       escapedString = escapedString.replaceFirst(str, String.valueOf(chaCha)); 
      } catch (Exception e) { 
       CustomLog.e("error:", e.getMessage()); 
      } 
      from = index + 3; 
      index = escapedString.indexOf("\\u", from); 
     } 

     escapedString = escapedString.replace("\\u", ""); 
    } catch (Exception e) { 
     CustomLog.info("warnning", "emoji parsing error at " + escapedString); 
    } 

    return escapedString; 
} 
関連する問題