复合视图中的android双布局对象

复合视图中的android双布局对象,android,view,android-linearlayout,android-custom-view,uiview-hierarchy,Android,View,Android Linearlayout,Android Custom View,Uiview Hierarchy,当您创建复合视图并为其膨胀xml布局文件时,如下所示: public class CompundLayout extends LinearLayout{...} <LinearLayout ... /> 这将使用根目录膨胀xml,如下所示: public class CompundLayout extends LinearLayout{...} <LinearLayout ... /> 最终会得到一个布局层次结构,其中LinearLayout位于LinearL

当您创建复合视图并为其膨胀xml布局文件时,如下所示:

public class CompundLayout extends LinearLayout{...}
<LinearLayout ... />
这将使用根目录膨胀xml,如下所示:

public class CompundLayout extends LinearLayout{...}
<LinearLayout ... />

最终会得到一个布局层次结构,其中LinearLayout位于LinearLayout内部(或者我在xml中为布局对象定义标记字符串时得出结论,我的应用程序将崩溃)


我错了吗?有没有更好的方法来防止这种双重布局

有一种更好的方法可以避免双重布局,改变xml布局,用“合并”容器替换LinearLayout容器。之后,您的xml布局将如下所示:

<merge xmlns:android="http://schemas.android.com/apk/res/android">
    <TextView ... />
    <EditText ... />
    ...
</merge>

...