여러 액티비티에는 onCreateOptionsMenu, onOptionsItemSelected 및 onKeyDown이 동일합니다. 변경을 구현할 때 모든 활동 (작업 시간 * 활동 횟수)에서 변경해야합니다. 코드를 재사용 할 수있는 방법이 있습니까? 예를 들어 세 가지 방법 모두를 한 곳에서 작성하고 모든 활동에 참조를 넣으십시오.여러 활동, 동일한 onCreateOptionsMenu, onOptionsItemSelected 및 onKeyDown. 어떻게 든 코드를 재사용 할 수 있습니까?
7
A
답변
10
물론, 모든 클래스에서 상속받은 자신 만의 Activity
클래스를 만드십시오.
이 같은 비트 - Activity
에서 상속 공통 동작을 구현하는 추상 기본 클래스를 만듭니다
public abstract class MyBaseActivity extends Activity {
public Menu onCreateOptionsMenu(Menu menu) {
/* do common menu stuff */
}
}
그런 다음 개별 활동이 기본 클래스에서 상속합니다
public class MyActivity extends MyBaseActivity {
// inherits behaviour from MyBaseActivity
// so don't need to re-implement onCreateOptionsMenu
}
6
물론, 기본 활동을 만들고 거기에 코드를 작성하십시오.
public class MenuActivity extends Activity {
// Menu stuff goes here
}
그런 다음 별도의 활동을 연장하십시오.
public class MyActivity1 extends MenuActivity { ... }
public class MyActivity2 extends MenuActivity { ... }
public class MyActivity3 extends MenuActivity { ... }
+1
나는 두 가지 대답을 올바른 것으로 받아 들일 수 없으므로 나는 단지 당신의 투표를 올릴 것입니다. –
+1
문제는 없지만 동시에 게시했습니다. 나는 데이브가 어쨌든 더 나은 것을 주었다고 생각한다. :) –
관련 문제
- 1. 문자열 작성자를 처분해야합니까? 어떻게 든 재사용 할 수 있습니까?
- 2. CakePHP 어디에서이 코드를 재사용 할 수 있습니까?
- 3. 코드를 일종의 "글로벌 활동"으로 결합 할 수 있습니까?
- 4. 가로 채기 onOptionsItemSelected
- 5. Cipher 객체를 재사용 할 수 있습니까?
- 6. 동일한 화면에 여러 활동 표시
- 7. 여러 CSS 파일을 Combres 및 Dotlesscss와 동일한 변수를 재사용 할 수 있습니까?
- 8. 수신 활동 재사용
- 9. 안드로이드 액세스 메뉴는 onOptionsItemSelected
- 10. Firefox에서 html 테이블의 onkeydown 이벤트를 어떻게 트리거 할 수 있습니까?
- 11. 기존 TCP-Server를 재사용 할 수 있습니까?
- 12. Android - 재사용 활동 인스턴스
- 13. 어떻게 든 변수를 변경할 수 있습니까?
- 14. HttpWebRequest를 재사용 할 수 있습니까?
- 15. 어떻게 ListView에 대한 메소드를 재사용 할 수 있습니까?
- 16. Wide div - 어떻게 든 스크롤 막대를 제거 할 수 있습니까?
- 17. 주요 활동 재사용
- 18. jquery에서이 코드를 어떻게 반복 할 수 있습니까?
- 19. 여러보기에서 onCreateOptionsMenu() 호출
- 20. 이 코드를 어떻게 최적화 할 수 있습니까?
- 21. 동일한 sharedUserId를 사용하여 활동 중 하나를 종료 할 수 있습니까?
- 22. 요소 변경을 통한 활동 재사용
- 23. Perl 스크립트에서 일부 기능을 어떻게 재사용 할 수 있습니까?
- 24. Jquery Basic Beginner 질문 : 어떻게 함수를 재사용 할 수 있습니까?
- 25. 프레임 워크 질문. 같은 템플릿을 어떻게 재사용 할 수 있습니까?
- 26. 집에서 재사용 가능한 라이브러리 - dll이나 프로젝트로 재사용 할 수 있습니까?
- 27. 이 코드를 어떻게 최적화 할 수 있습니까?
- 28. 이 코드를 어떻게 최적화 할 수 있습니까?
- 29. 어떻게 소스 코드를 색인 할 수 있습니까?
- 30. PHP 코드를 어떻게 보호 할 수 있습니까?
물론 감사합니다. 두 답변 모두 정확한 시간에 작성되었으므로 올바른 답변 (@alextsc보다 낮은 평판)과 대답 alextsc 답을 승인 할 것입니다. –