-1

我想将 html 标签读取到 TextView,所以我这样做了:

titolo = (TextView) this.findViewById(R.articolo.titolo);
        testo = (TextView) this.findViewById(R.articolo.testo);
        titolo.setText(db.getTitolo());
        testo.setText(db.getTesto());
        testo.setText(Html.fromHtml(testo));

但我在这里有一个错误: testo.setText(Html.fromHtml(testo)); 为什么?

这个应用程序从数据库中检索数据,所以我希望如果我写入数据库,例如你好,使用 html.fromhtml 将其格式化为粗体

4

2 回答 2

1

public static Spanned fromHtml (String source)

从提供的 HTML 字符串返回可显示的样式文本。HTML 中的任何标签都将显示为通用替换图像,然后您的程序可以通过它并用真实图像替换。

这使用 TagSoup 来处理真实的 HTML,包括在野外发现的所有损坏。

更多信息 @

http://developer.android.com/reference/android/text/Html.html

 testo = (TextView) this.findViewById(R.articolo.testo); // textview initialized

 testo.setText(Html.fromHtml(testo)); // wrong

fromHtml将字符串作为参数

它应该是

 testo.setText(Html.fromHtml("myhtmlString"));

例子 :

  String s ="<b>"+"Hello"+"</b>";
  TextView tv = (TextView) findViewById(R.id.textView1);
  tv.setText(Html.fromHtml(s));  
于 2013-07-06T12:45:30.550 回答
0

在您的示例中,您将 TextView 发送到 fromHtml 并且您应该提供 String 变量。该字符串可以包含 HTML 标记。

TextView testo = (TextView) findViewById(R.articolo.testo);
String formattedText = "This is <b>bold</b>";
testo.setText(Html.fromHtml(formattedText));

当然,您可以从 DB 获取 String。我不知道你的 getTesto() 方法是如何工作的,但如果它返回 String 你可以写:

TextView testo = (TextView) findViewById(R.articolo.testo);
String formattedText = db.getTesto();
testo.setText(Html.fromHtml(formattedText));
于 2013-07-06T14:27:10.093 回答