问题描述
- Android 自定义html标签问题
-
首先参照网上的例子实现一个自定义标签tvName.setText(Html.fromHtml(value, null, new TagHandler() { private int startIndex = 0; private int stopIndex = 0; @Override public void handleTag(boolean opening, String tag, Editable output,XMLReader xmlReader) { //Logger.e("TimeResultAdapter", "handleTag-->"+output.toString()); if (tag.toLowerCase().equals("game")) { if (opening) { startGame(tag, output, xmlReader); }else{ endGame(tag, output, xmlReader); } } } public void startGame(String tag, Editable output, XMLReader xmlReader) { startIndex = output.length(); Logger.e("TimeResultAdapter", "startGame-->"+output.toString()); } public void endGame(String tag, Editable output, XMLReader xmlReader) { stopIndex = output.length(); //把标签内的文字变成蓝色 output.setSpan(new ForegroundColorSpan(context.getResources().getColor(R.color.common_bg_blue)), startIndex, stopIndex, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); Logger.e("TimeResultAdapter", "endGame-->"+output.toString()); } }));
上面我是用内部类的方式重写了TagHandler这个类
当value=“xxxx要做特殊处理的文字xxxxxxx”或value="xxxx要做特殊处理的文字xxxxxxx,xxxx要做特殊处理的文字xxxxxxx"时都能正常显示
log打印如下格式(第一种情况)
01-06 09:56:39.526: E/TimeResultAdapter(15935): startGame-->xxxx
01-06 09:56:39.526: E/TimeResultAdapter(15935): endGame-->xxxx要做特殊处理的文字
当value="要做特殊处理的文字xxxxxxxxxx"时就出现了问题
log打印格式如下
01-06 09:56:39.576: E/TimeResultAdapter(15935): startGame-->
01-06 09:56:39.576: E/TimeResultAdapter(15935): endGame-->要做特殊处理的文字xxxxxxx
直接吧所有文字都做特殊处理了,不知道怎么解决
解决方案
解析在Android中为TextView增加自定义HTML标签的实现方法
解决方案二:
解析在Android中为TextView增加自定义HTML标签的实现方法 不知道
时间: 2024-12-23 18:58:37