我的资产文件夹中有一个.txt文件,其中包含大量HTML ...
我将其称为字符串,使用JSoup Library删除一些HTML标记,并将此字符串设置为TextView的文本:
InputStream is;
TextView tv = (TextView)findViewById(R.id.tv);
String html;
try {
is = getAssets().open("html.txt");
html = convertStreamToString(is);
} catch (Exception e) {
e.printStackTrace();
}
Document doc = Jsoup.parse(html);
Elements links = doc.select("a[href]");
for (Element link : links) {
doc.select("a").unwrap();
}
doc.select("title").remove();
tv.setText(fromHtml(html));
它导致TextView显示非常大且漂亮的格式化HTML代码
当用户触摸该TextView中的任何单词时,我想更改单词的背景颜色,标记它,并在用户重新启动应用程序时再次标记该标记......我怎么能实现这一点?
修改
另外,我如何一起使用Spannable
和Html.fromHtml()
?
答案 0 :(得分:0)
这篇文章可以帮助您获得单词的索引。 OnClick Position in String in TextView。保存单词的起始索引。
从索引到单词结尾,使用spannablestring突出显示单词。 How to search for a word in a string and highlight word in a text view in android?
当您再次加载文本时,您可以对存储的单词索引执行相同的操作。