使用inflate xml和子节点自定义LinearLayout

时间:2011-03-06 13:13:22

标签: android android-layout android-custom-view

我有一个自定义导航类,其中有共同的视图,因此我想将它们放入一个布局中,该布局将由自定义类充气,并且在主布局上放置一些导航项目。

目前,当我扩展linearlayout时,xml中的视图会替换膨胀视图中的所有视图(我将此代码放在构造函数上)

((Activity) context).getLayoutInflater().inflate(R.layout.navigation_group, this ,true);

有没有办法让我可以膨胀布局并获取xml实现的子代并将其放在一个视图上?喜欢

要夸大的布局

<com.mycompany.NavigationGroup>
   <Text android:text="title" ... />
   <Button android:text="collapse" ... />
   <LinearLayout android:id="@+id/navigationItemHolder ... />
   <Text android:text="descriptions" ... />
</com.mycompany.NavigationGroup>

用于主要布局

<com.mycompany.NavigationGroup>
   <Button android:text="menu 1" />
   <Button android:text="menu 2" />
</com.mycompany.NavigationGroup>

我的问题是我怎么能把菜单1&amp; menuItemHolder里面的菜单2?感谢

1 个答案:

答案 0 :(得分:1)

您可以在扩充布局后以编程方式执行此操作。我相信你可以这样做:

YourLayout layout = (YourLayout)((Activity) context).getLayoutInflater().inflate(R.layout.navigation_group, this ,true);
layout.((LinearLayout)getChildAt (3)).addView (yourNavigationGroup);