0

次のような文字列があります。

String s="12 year old Manick is <b>three</b> times as old as his brother Rahul. How old will Manick be when he is twice as old as Rahul ?";

この文字列を TextView に設定すると、出力は次のようになります。

出力

私が望むのは、出力が次のようになることです。

12 歳のマニックは、弟のラフルの3倍の年齢です。マニックがラフルの 2 倍の年齢になると、マニックは何歳になりますか?

TextView で目的の出力を得るには、元の文字列に対して何を行う必要がありますか?

実際、私の要件は、HTML タグ内のテキストを抽出し、タグ内のテキストに太字の書式を適用し、TextView に表示する前に文字列からタグを削除することです。

前もって感謝します!

PS: 文字列は XML ファイルから取得されているため、異なる場合があります。

4

1 に答える 1

1

Strings.xml で TextView のテキストを定義してみることができます。html から設定すると、画面サイズに応じて折り返される場合があります。

だからあなたはこれを試すことができます:

<string name="nice_html">
<![CDATA["12 year old Manick is &lt;b&gt;three&lt;/b&gt; times as old as his brother Rahul. How old will Manick be when he is twice as old as Rahul ?";
]]></string>

次に、コードで:

TextView foo = (TextView)findViewById(R.id.foo); foo.setText(Html.fromHtml(getString(R.string.nice_html)));

編集:

最後のコードを次のように変更するだけです

//string s already defined in the question

TextView foo = (TextView)findViewById(R.id.foo); 
foo.setText(Html.fromHtml(getString(s)));
于 2013-04-01T07:30:01.833 に答える