假设我在 Android 应用程序中有两个 Activity,EditPerson
和 EditEmployee
。
将 EditPerson
Activity 作为 EditEmployee
Activity 的基类并定义将数据编码到布局中定义的 View 和从 View 中编码的方法似乎很自然。 EditPerson
Activity 的实现会将(例如)“名称”字段推送到 EditText
元素或从中推送。 EditEmployee
版本将调用基类版本,然后编码自己的专用字段(比如税号等)。
为了促进共享代码,两个 Activity 都必须有一个布局资源,该资源定义一对或多对共享相同 id 的 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. -->
因为“Employee”是一个“Person”,并且有共同的字段(通过继承编码),看起来分配的 id(上例中的“name_editor”)只需要在 Activity 范围(或布局?)。
根据我的测试,这似乎可行,但我担心这种方法和使用不明确的布局元素 ID 会产生意外的副作用。任何人都可以确认这是一种安全的做法和/或指出它最终将如何破坏我的应用程序吗?有没有人做过类似的事情?
最佳答案
它很常见并且可以使用。尤其是当您想重用代码/类,但使用不同的布局时。
关于android - Android View 的 ID 可以在多个 Activity 之间安全共享吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3341336/