안드로이드 개발 질문/답변
(글 수 45,052)
각 Activity 마다 onCreateOptionsMenu(), onOptionsItemSelected()
메소드를 추가하여 메뉴를 구성하는 방법 밖에 없나요?
같은 메뉴를 여러 Activity 에서 사용하려합니다.
소스가 겹치기때문에 따로 클래스를 빼서 재사용을 하고 싶은데,
어떻게해야하는지 궁금합니다.
2010.09.16 15:56:14
그냥 onCreateOptionsMenu 에서 xxx.createMenu(menu) 이렇게 해주면되죠....
리턴 값이 필요하면 필요한 대로 하구요....
오히려 문제는 onOptionsItemSelected 일거 같은데...
정말 Activity의 의존적이지 않고 똑같이만 동작한다믄
onOptionsItemSelected에서 받은 인수 그대로 넘기는 방식으로 xxx.itemSelected(...);
이렇게 하면되죠...
UI의 변형을 대비해서 xxx의 생성자에는 미리 context 받아두는 정도만 해두면 될거 같습니다.
리턴 값이 필요하면 필요한 대로 하구요....
오히려 문제는 onOptionsItemSelected 일거 같은데...
정말 Activity의 의존적이지 않고 똑같이만 동작한다믄
onOptionsItemSelected에서 받은 인수 그대로 넘기는 방식으로 xxx.itemSelected(...);
이렇게 하면되죠...
UI의 변형을 대비해서 xxx의 생성자에는 미리 context 받아두는 정도만 해두면 될거 같습니다.




onOptionsItemSelected 부분을 두개의 메소드로 구성해서 클래스 따로 빼면 될거 같은데요.
메뉴가 완전히 동일하면 그렇게 처리해도 크게 문제 없죠...