Идентификатор Представления Android может быть безопасно совместно использован через несколько Операций?

Скажите, что у меня есть две Операции в приложении Android, EditPerson и EditEmployee.

Казалось бы естественным иметь EditPerson Действие быть базовым классом для EditEmployee Действие и определяет методы, которые упорядочивают данные к и от Представлений, определенных в расположении. EditPerson Реализация действия продвинула бы (например), поле "Name" к и от EditText элемент. EditEmployee версии назвали бы версию базового класса и затем упорядочили бы ее собственные специализированные поля (скажите что налоговый идентификатор, и т.д.).

Для упрощения общего кода обе операции должны были бы иметь ресурс расположения, который определяет одну или несколько пар EditText элементы, которые совместно используют тот же идентификатор. т.е. в layout\edit_person.xml был бы:

<EditText android:id="@+id/name_editor" />

И затем в layout\edit_employee.xmlбыло бы что-то как:

<EditText android:id="@+id/name_editor" />
<EditText android:id="@+id/tax_id_editor" />
<!-- etc. -->

Так как "Сотрудник" является "Человеком", и существуют поля вместе (упорядоченный через наследование), казалось бы, как будто присвоенный идентификатор ("name_editor" в вышеупомянутом примере) только должен быть уникальным в рамках действия (или расположение?).

От моего тестирования это, кажется, работает, но я параноик, что был бы неумышленный побочный эффект к этому подходу и использованию неоднозначных идентификаторов элемента макета. Кто-либо может подтвердить, что это - безопасная практика, и/или укажите, как она в конечном счете аварийно завершит мое приложение? Кто-либо когда-либо делал подобные вещи?

7
задан el2iot2 27 July 2010 в 07:00
поделиться

1 ответ

Это обычное дело, и его можно использовать. Это особенно важно, если вы хотите повторно использовать код / ​​классы, но использовать разные макеты.

6
ответ дан 7 December 2019 в 09:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: