【问题标题】:Inflate and render a UI view by a downloaded xml string通过下载的 xml 字符串膨胀和渲染 UI 视图
【发布时间】:2018-09-25 06:51:21
【问题描述】:

我有兴趣从服务器下载 UI 视图的 xml 布局并将其扩展为 xml 字符串。
我在doc 中看到的是:

因此,目前无法将 LayoutInflater 与 XmlPullParser 在运行时通过纯 XML 文件;它只适用于 XmlPullParser 从已编译的资源(R.something 文件)返回。

我不太理解突出显示的部分(我的重点)。
如果我有一些“虚拟”xml 文件来获取XmlPullParser,我可以扩充我的 xml 字符串吗?

一般来说,如果这是不可能的,还有什么替代方案?
我的意思是除此之外不需要像 react native 那样的巨大学习曲线

【问题讨论】:

    标签: android android-layout xml-parsing layout-inflater android-xmlpullparser


    【解决方案1】:

    由于LayoutInflater 的不寻常实现,您不能从纯 XML 文件扩展视图层次结构。根据the source code,以下inflate 方法不适用于XmlPullParser 的简单实例。

        View inflate(XmlPullParser parser, ViewGroup root)
        View inflate(XmlPullParser parser, ViewGroup root, boolean attachToRoot)

    实现要求第一个参数parserclass XmlBlock.Parser 的一个实例。该类实现了interface XmlResourceParser,接口扩展了三个接口:

    因此,对于 inflate 方法,简单的 XmlPullParser 是不够的。 API 应该是:

        View inflate(XmlBlock.Parser parser, ViewGroup root)
        View inflate(XmlBlock.Parser parser, ViewGroup root, boolean attachToRoot)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多