2010-07-27 46 views
7

说我有两个活动的Android应用程序,EditPersonEditEmployeeAndroid视图的ID可以在多个活动中安全共享吗?

EditPerson Activity作为EditEmployee活动的基类并定义将数据封送到布局中定义的视图的方法似乎很自然。该EditPerson活动的实施将推动(例如)在“名称”字段,并从一个EditText元素。 EditEmployee版本将调用基类版本,然后编组它自己的专用字段(比如税号等)。

为了便于共享代码,这两种活动就必须有一个定义一个或多个对共享相同的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. --> 

由于“员工”是一个“人”,并有共同的领域(封通过继承),似乎分配的id(在上例中为“name_editor”)在活动(或布局?)的范围内必须是唯一的。

从我的测试,这似乎工作,但我偏执地认为会有一个无意的副作用,这种方法和使用模棱两可的布局元素的ID。任何人都可以证实这是一个安全的做法和/或指出它将如何最终炸毁我的申请?有没有人做过类似的事情?

回答

6

这是常见的,即可使用。当你想重用代码/类,但使用不同的布局时尤其如此。

+0

感谢您分享您的体验。由于我在Android世界仍然很新,所以有时候很难理解什么是理智的方法。 – el2iot2 2010-07-29 22:02:47