Как связать дочерние представления внутри тега <include />? - PullRequest
1 голос
/ 17 марта 2011

ниже приведен фрагмент, скопированный с And Dev.

<com.android.launcher.Workspace
android:id="@+id/workspace"
android:layout_width="fill_parent"
android:layout_height="fill_parent"

launcher:defaultScreen="1">

<include android:id="@+id/cell1" layout="@layout/workspace_screen" />
<include android:id="@+id/cell2" layout="@layout/workspace_screen" />
<include android:id="@+id/cell3" layout="@layout/workspace_screen" />

</com.android.launcher.Workspace>

Здесь они демонстрируют, как перезаписать идентификатор корневого View или ViewGroup включенного макета.

У меня вопрос: можно ли переписать идентификатор ребенка с помощью XML?
Если нет, то как мне связать дочерние представления cell2 или cell3, если их идентификаторы уже заданы? HierarchyViewer сообщает мне, что атрибуты всех включенных дочерних представлений не изменяются, включая атрибут ID, создавая, таким образом, несколько представлений с одним и тем же идентификатором.

1 Ответ

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

Нет ничего плохого в совпадении идентификаторов.Как иначе вы бы реализовали элементы представления списка, например?

Вы можете получить доступ к нужным дочерним представлениям с помощью вложенного findViewById ().

findViewById (cell3) .findViewById (child_View_id)

...