Пользовательский LinearLayout с надутым xml и дочерним узлом - PullRequest
1 голос
/ 06 марта 2011

У меня есть пользовательский класс навигации, в котором есть общие представления, поэтому я собирался поместить их в один макет, который должен быть раздут пользовательским классом, а на основном макете я бы поставил на него какой-то элемент навигации.

В настоящее время, когда я расширяю 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 и меню 2 в навигационный элемент? Спасибо

1 Ответ

1 голос
/ 06 марта 2011

Вы можете сделать это программно после того, как раздуте свой макет. Я считаю, что вы можете сделать что-то вроде этого:

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