마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

헤더에 onclick이 적용이 안됩니다;;;;;;

0 추천

 

위와 같이 헤더가 있고, 밑에 본문이 있습니다. 1은 슬라이드메뉴버튼이고, 2는 글작성버튼 뭐 그런 개념인데...

1,2가 있는 헤더를 공통으로 모든 액티비티에서 사용하다보니 onclick이벤트를 한곳에 처리하려는데...

처음에는 어떤 액티비티(예를들어 HelloActivity)가 있다면 그곳의 레이아웃에 include를했습니다. 헤더만요.

헤더는 자바액티비티파일없이 그저, XML레이아웃만 만들었었는데요.

 

헌데, 문제가..... 헤더에 있는 버튼에 대한 이벤트처리를 하려다보니 HelloActivity나 여타 다른 헤더가 존재하는 액티비티에

모두 onclick이벤트를 처리하려니 똑같은 소스가 전부 들어갑니다.

그래서 아예 헤더에 대한 액티비티를 따로 만들었습니다. 그랬더니... onclick이벤트가 적용이 안되네요;;;

다른 방법으로 접근해야하나요?

뽀그 (520 포인트) 님이 2013년 10월 8일 질문

2개의 답변

0 추천
 
채택된 답변
Fragment 를 검색하셔서 알아보시면 유용할것으로 보입니다. 현재 보면 layout을 재활용하면서 생기는 일반적인 생각의 꼬임으로 보입니다. Fragment를 사용하시면 한곳에서 event처리가 가능하실 겁니다. Fragment는 각각의 뷰들을 쪼개서 개별적으로 처리할수 있는 class입니다. 요즘과 같이 Layout 내에 개별적인 action들을 처리하기 위해 안드로이드에서 지원하게된 class입니다.
싸만코 (2,260 포인트) 님이 2013년 10월 8일 답변
뽀그님이 2013년 10월 10일 채택됨
0 추천
헤더를 커스텀 뷰로 만들어서 해당 커스텀 뷰에서 이벤트 처리를 다 하시면 될거 같네요.
whitesnow (8,920 포인트) 님이 2013년 10월 8일 답변
...