Android 在循环中使用Html.fromHtml设置textview的文本?
是否可以使用Html.fromHtml来获取字符串数据,以更改某些文本样式?此文本分配给循环外部的textView。 以下是相关代码:Android 在循环中使用Html.fromHtml设置textview的文本?,android,html,textview,Android,Html,Textview,是否可以使用Html.fromHtml来获取字符串数据,以更改某些文本样式?此文本分配给循环外部的textView。 以下是相关代码: if( c != null && c.moveToFirst() ){ while (c.isAfterLast()==false) { String gtWord = c.getString(1); String gtDef = c.getString(2);
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>
getData.setText(Html.fromHtml("<b>This<b/> is <u>underlined<u/> text")
但这种风格被忽略了。我发现了一些相关的问题,并尝试在不使用strings.xml的情况下使用它,但唯一可以识别的标记是,所有其他标记都被忽略了。我假设问题是我在循环内使用混合变量和硬编码文本,因为我在循环外测试它,如下所示:
<b>Word: </b>
getData.setText(Html.fromHtml("<b>This<b/> is <u>underlined<u/> text")
而且它起作用了。像这样说出你的字符串
<string name="wordLabel"><![CDATA[<b>Word: </b>]]></string>
你也可以把它写成
<string name="word_label"><b>Word: </b></string> // here I have chnaged your string name wordLabel to word_label. you should follow naming convension.
请注意,左括号是HTML转义的,使用的是符号。不起作用。文本如下所示:无差异,结果相同。打印fetchData字符串的最终值并共享您得到的结果。所以很容易找到根本原因:如果我使用而不是询问共享字符串值,则没有区别。