任意の子ビューを含むカスタム ViewGroup を作成しましたが、それらを設定することが期待されています。子の ID を知る必要があるため、arrays.xml で ID の配列を定義し、その配列を次のようにカスタム グループに属性として渡します。
my_layout.xml:
<com.example.MyLayout
...
custom:children="@array/four_children">
<TextView ...
android:id="@+id.child1" />
<TextView ...
android:id="@+id.child2" />
<TextView ...
android:id="@+id.child3" />
<TextView ...
android:id="@+id.child4" />
</com.example.MyLayout>
配列.xml:
<array name="four_children">
<item>@id/child1</item>
<item>@id/child2</item>
<item>@id/child3</item>
<item>@id/child4</item>
</array>
このアプローチを選択したのは、設計目標の 1 つがレイアウト全体を xml で定義することだったからです。
基本的に私の質問は、このようなビュー id の配列を使用することはアンチパターンですか、そうでなければ危険ですか?