Android Studio显示警告:此处不允许元素合并

时间:2015-09-06 18:05:01

标签: android android-layout android-databinding

我基于LinearLayout创建自定义视图。类扩展了LinearLayout类,我在布局中有:

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
    <merge>
        some staff here
    </merge>
</layout>

Android Studio会显示警告Element merge is not allowed here,但应用有效。

怎么了?

3 个答案:

答案 0 :(得分:4)

我认为这只是Android工作室的一个小故障。即使是官方文档merge也是layout的直接孩子:https://developer.android.com/topic/libraries/data-binding/index.html

编辑:我在那里提交了一个错误:https://code.google.com/p/android/issues/detail?id=286406&thanks=286406&ts=1490873944

Edit2:Bug已修复\ o /在AS 3.5 Canary 12

答案 1 :(得分:-2)

实际上你根本不需要合并,因为你在root中为databisnig做了布局。 &LT;合并&GT;这里的标签是多余的!

  

使用&lt; merge&gt;代码

     

标记有助于消除视图中的冗余视图组   在另一个

中包含一个布局时的层次结构

来自:Android documentation

合并时不会绘制合并布局,系统会在绘图时忽略它们。

要批准我通过Android设备监视器中的层次结构视图跟踪布局以进行布局..它不存在,这意味着它执行与合并标记相同的工作。你可以自己检查一下!

希望这可能会有所帮助......

答案 2 :(得分:-3)

<merge>设为文件中的第一个标记。