1

私は共通のビューがあるカスタムナビゲーションクラスを持っているので、カスタムクラスによって膨らませられる1つのレイアウトにそれらを配置し、メインレイアウトにいくつかのナビゲーションアイテムを置くことを考えていました。

現在、linearlayout を拡張すると、xml 内のビューが膨張したビュー内のすべてのビューを置き換えます (このコードをコンストラクターに配置します)

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

レイアウトを膨らませて xml 実装の子を取得し、それを 1 つのビューに配置する方法はありますか? お気に入り

膨らませるレイアウト

<com.mycompany.NavigationGroup>
   <Text android:text="タイトル" ... />
   <Button android:text="collapse" ... />
   <LinearLayout android:id="@+id/navigationItemHolder ... />
   <Text android:text="説明" ... />
</com.mycompany.NavigationGroup>

メインレイアウトで使用

<com.mycompany.NavigationGroup>
   <Button android:text="メニュー 1" />
   <Button android:text="メニュー 2" />
</com.mycompany.NavigationGroup>

私の質問は、メニュー 1 とメニュー 2 を navigationItemHolder 内に配置するにはどうすればよいですか? ありがとう

4

1 に答える 1

1

これは、レイアウトを拡張した後にプログラムで行うことができます。次のようなことができると思います:

YourLayout layout = (YourLayout)((Activity) context).getLayoutInflater().inflate(R.layout.navigation_group, this ,true);
layout.((LinearLayout)getChildAt (3)).addView (yourNavigationGroup);
于 2011-03-06T16:24:53.743 に答える