开发者社区> 问答> 正文

关于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
直接吧所有文字都做特殊处理了,不知道怎么解决

展开
收起
爵霸 2016-03-18 14:25:16 2342 0
1 条回答
写回答
取消 提交回答
  • TextView.setText(Html.fromHtml(html))  得到的就是没有标签的文字啦
    
    2019-09-19 17:01:22
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Android开发之多进程架构 立即下载
Android应用启动速度和内存优化实践 立即下载
天猫HTML5互动技术实践 立即下载