读取html带自定义标签问题,TagHandler
用Html.fromHtml()显示。
可是读取不到属性
public class MainActivity extends Activity {
TextView tv1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv1 = (TextView) findViewById(R.id.tv1);
String s = "<g color='blue'>自定义</g>";
tv1.setText(Html.fromHtml(s, null, new GameTagHandler()));
tv1.setMovementMethod(LinkMovementMethod.getInstance());
}
public class GameTagHandler implements TagHandler {
private int startIndex = 0;
private int stopIndex = 0;
@Override
public void handleTag(boolean opening, String tag, Editable output, XMLReader xmlReader) {
if (tag.toLowerCase().equals("g")) {
if (opening) {
startGame(tag, output, xmlReader);
} else {
endGame(tag, output, xmlReader);
}
}
}
public void startGame(String tag, Editable output, XMLReader xmlReader) {
String cc;
try {
cc = (String) xmlReader.getProperty("color");
} catch (SAXNotRecognizedException e) {
e.printStackTrace();
} catch (SAXNotSupportedException e) {
e.printStackTrace();
}
startIndex = output.length();
}
public void endGame(String tag, Editable output, XMLReader xmlReader) {
stopIndex = output.length();
output.setSpan(new GameSpan(), startIndex, stopIndex, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
String cc;
try {
cc = (String) xmlReader.getProperty("color");
} catch (SAXNotRecognizedException e) {
e.printStackTrace();
} catch (SAXNotSupportedException e) {
e.printStackTrace();
}
}
private class GameSpan extends ClickableSpan implements OnClickListener {
@Override
public void onClick(View v) {
Log.e("asdf", "sdsdfs");
}
}
}
}
求解
相关推荐
Android 多样化显示TextView以及扩展Html自定义标签
博客地址 http://blog.csdn.net/bhadx520?viewmode=list
Android TextView显示Html类解析的网页和图片及自定义标签用法示例
主要介绍了Android TextView显示Html类解析的网页和图片及自定义标签用法,实例分析了Android中TextView控件的使用技巧,需要的朋友可以参考下
解析在Android中为TextView增加自定义HTML标签的实现方法
本篇文章是对在Android中为TextView增加自定义HTML标签的方法进行了详细的分析介绍。需要的朋友参考下
android的android.text.Html的类的使用源码(补全TagHandler部分)
android的android.text.Html的类的使用源码(补全TagHandler部分)
Android代码-支持TextView默认支持的所有标签
HtmlTagHandler 支持TextView默认支持的所有标签,支持自定义,取代安卓默认的Html.TagHandler 特性 支持TextView默认支持的标签 支持自定义标签,接口类似Html.TagHandler 1 自定义标签: /** * 解析<span>哈哈哈</span> */ public class SpanTagHandler implements HtmlTagHandler.TagHandler { private String fontColor = ""; @Override public void handleTag(boolean open, String tag, Editable output, Attributes attrs) { if(tag.toLowerCase().equals("span")){ if(open){ //开标签,output是空(sax还没读到),attrs有值 for(i


