如何从基本HTML页面获取文本并在TextView中显示。
我想这样做,因为它看起来比使用webview显示文本更好。
html页面上只有一行。如果需要,我可以将其更改为txt文件。
你能提供一个简单的例子吗?
答案 0 :(得分:1)
您需要先使用HttpClient
之类的内容下载HTML,以便从Internet检索数据(假设您需要从Internet而不是本地文件获取)。完成后,您可以在WebView中显示HTML,就像您说的那样,或者,如果HTML不复杂并且只包含一些基本标记(<a>
,<img>
, <strong>
,<em>
,<br>
,<p>
等),您可以直接将其传递给TextView
,因为它支持一些基本的HTML显示。
为此,您只需致电Html.fromHtml
,然后将下载的HTML字符串传递给它。例如:
TextView tv = (TextView) findViewById(R.id.MyTextview);
tv.setText(Html.fromHtml(myHtmlString));
fromHtml
方法将解析HTML并应用一些基本格式,返回Spannable
对象,然后可以直接将其传递给TextView
的{{1}}方法。它甚至支持链接和图像标记(但是,对于图像,您需要实现ImageGetter
来实际提供相应的Drawable)。但我不相信它支持CSS或内联样式。
setText
仅仅使用该代码是不够的,因为它应该在一个单独的线程上完成(事实上,Android可能会拒绝在UI线程上建立网络连接。请查看AsyncTasks了解更多信息有关它的信息。您可以找到一些文档here(向下滚动到“使用Asynctask”)。