2010-07-27 5 views
7

Android 애플리케이션에 두 가지 활동, EditPersonEditEmployee이 있다고 가정 해보십시오.Android보기의 ID를 여러 활동간에 안전하게 공유 할 수 있습니까?

EditPerson 활동이 EditEmployee의 기본 클래스가되는 것처럼 보일 것입니다. 레이아웃 및 레이아웃에서 정의 된 뷰와 데이터를 마샬링하는 메서드를 정의하고 정의합니다. EditPerson 액티비티 구현은 "Name"필드를 EditText 요소로 푸시 (예 :)합니다. EditEmployee 버전은 기본 클래스 버전을 호출 한 다음 고유 한 필드 (예 : 세금 ID 등)를 마샬링합니다.

공유 코드를 사용하려면 두 활동 모두 동일한 ID를 공유하는 하나 이상의 EditText 요소 쌍을 정의하는 레이아웃 리소스가 있어야합니다. 는 "사람"입니다 "직원"때문에

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

및 마샬링 공통 필드 (이 있습니다 :처럼 뭔가있을 것 layout\edit_employee.xml에 다음

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

그리고 : layout\edit_person.xml의 예는있을 것입니다 위의 예에서 "name_editor"로 할당 된 ID는 활동 범위 (또는 레이아웃?) 내에서만 고유해야하는 것처럼 보입니다.

내 테스트에서이 방법이 효과가있는 것으로 보였지만 모호한 레이아웃 요소 ID를 사용하는 경우 의도하지 않은 부작용이 생길 것입니다. 누구나 이것이 안전한 관행임을 확인하고 결국 애플리케이션을 어떻게 날려 버릴지 지적 할 수 있습니까? 누구도 비슷한 것을 한 적이 있습니까?

답변

6

일반적으로 사용하는 것이 좋습니다. 특히 코드/클래스를 재사용하지만 다른 레이아웃을 사용하려는 경우에 적합합니다.

+0

경험을 공유해 주셔서 감사합니다. Android 세계에서 나는 아직 새로운 기술이기 때문에 무엇이 정상적인 접근인지 알기가 더 어려울 수 있습니다. – el2iot2

관련 문제