在循环中使用Html.fromHtml设置textview&#39的文本?

时间:2015-05-20 07:48:21

标签: android html textview

是否可以使用Html.fromHtml到String fetchData,来改变一些文本样式?此文本分配给循环外的textView。 以下是相关代码:

if( c != null && c.moveToFirst() ){
        while (c.isAfterLast()==false) {
            String gtWord = c.getString(1);
            String gtDef = c.getString(2);
            fetchData = fetchData + getResources().getString(R.string.wordLabel) + gtWord + "\n"
                    + getResources().getString(R.string.transLabel) + gtDef + "\n\n";
            c.moveToNext();
        }
getData.setText(fetchData)

现在我正在使用strings.xml,我在其中设置了这样的文字:

<b>Word: </b>

但是样式被忽略了。我发现了一些相关的问题,我也尝试过这样做而不使用strings.xml,但唯一识别的标签是
,所有其他标签都被忽略了。我想问题是我在循环中使用混合变量和硬编码文本,因为我在循环之外测试了它,如下所示:

getData.setText(Html.fromHtml("<b>This<b/> is <u>underlined<u/> text") 

它正在工作。

1 个答案:

答案 0 :(得分:1)

声明你的字符串

<string name="wordLabel"><![CDATA[<b>Word: </b>]]></string>

documentaion您也可以将其写为

<string name="word_label">&lt;b>Word: &lt;/b></string> // here I have chnaged your string name wordLabel to word_label. you should follow naming convension.

请注意,使用&lt;表示法对左括号进行HTML转义。