下面这部分代码负责初始化和create XML 文件中声明的View和ViewGroup
/**
* Recursive method used to descend down the xml hierarchy and instantiate
* views, instantiate their children, and then call onFinishInflate().
*/
private void rInflate(XmlPullParser parser, View parent, final AttributeSet attrs)
throws XmlPullParserException, IOException {
final int depth = parser.getDepth();
int type;
while (((type = parser.next()) != XmlPullParser.END_TAG ||
parser.getDepth() > depth) && type != XmlPullParser.END_DOCUMENT) {
if (type != XmlPullParser.START_TAG) {
continue;
}
final String name = parser.getName();
if (TAG_REQUEST_FOCUS.equals(name)) {
parseRequestFocus(parser, parent);
} else if (TAG_INCLUDE.equals(name)) {
if (parser.getDepth() == 0) {
throw new InflateException("<include /> cannot be the root element");
}
parseInclude(parser, parent, attrs);
} else if (TAG_MERGE.equals(name)) {
throw new InflateException("<merge /> must be the root element");
} else {
final View view = createViewFromTag(name, attrs);
final ViewGroup viewGroup = (ViewGroup) parent;
final ViewGroup.LayoutParams params = viewGroup.generateLayoutParams(attrs);
rInflate(parser, view, attrs);
viewGroup.addView(view, params);
}
}
parent.onFinishInflate();
}
分享到:
相关推荐
本代码实例采用SAX实现对XML文件的解析,包括这个数据和标签的提取
android XML解析的三种方法源代码
老罗Android视频开发教程 android解析xml文件代码 很不错的Android开发教程。
XML解析AndroidPull解析代码
Android XML和JSON解析的代码,学习笔记。
C语言的Android binary XML(AXML)解析代码
android xml 各种解析 经典完整代码 非常好用 非常经典完整的代码.
android Pull XML文件解析 存取 代码程序
android中利用sax框架模型实现xml文件解析Demo
android mars视频代码 xml源码 XML解析
android 网络编程详解代码第3章(网络下的XML解析和生成)
android java开发常用 xml数据格式解析 生成 jdom.jar 有各种实例代码,加压查找即可看到个版本jar 包
Android中XML的数据解析代码。博客地址请关注:http://blog.csdn.net/yegongheng
android移动开发之解析xml的文件,值得你拥有
包括android代码实例以及个人对Dom解析xml文件的总结文档。
分别实现了android 最常用的SAX和PULL解析方式,并附有详尽分析
android xml解析与构建,代码jar
XML解析与生成的四种方式代码,android studio编写。
详细介绍了android中xml文件的解析,附有具体的代码和实例以及注意方面