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

activity에서 레이아웃으로 정의된 fragment에 메소드 호출방법

0 추천

NavigationDrawerActivity 에서 layout에 NavigationDrawerFragment 를 정의했습니다.

그래서 NavigationDrawerActivity 에서는 NavigationDrawerFragment 를 호출하는 부분이 없는데요,,

문제는 아래 그림처럼 UserActivity 에서  변경사항이 생겼을때 NavigationDrawerFragment 에 있는 

메소드를 호출해서 NavigationDrawer 메뉴에 값을 변경해야 하는데,,

UserActivity 에서 리스너를 구현해도 NavigationDrawerActivity를 상속받은 아이라 에러나고..

어떤식으로  전달을 해야할지 모르겠습니다. ㅠㅠ

 

 

 

익명사용자 님이 2016년 7월 22일 질문

1개의 답변

0 추천
 
채택된 답변

제일 간단하게는

Fragment에 public 메소드를 정의 후

UserActivity를 startActivityForResult로 띄운 후

DrawerActivity의 onActivityResult에서

findFragmentById로 attach되어있는 프래그먼트의 public 메소드를 호출하시면 될듯 합니다..\

이 외에는 이벤트 버스를 사용하는 방법도 있는데

저도 맛만 봤지 공부를 해보질 않아서 내용은 잘 모르겠네요.

 

https://github.com/greenrobot/EventBus
https://github.com/square/otto

http://ruzicka.blog.me/220764889185

모나미153 (17,540 포인트) 님이 2016년 7월 22일 답변
덕분에 otto 로 해결했네요,, 모나미님 정말 감사합니다 ^^
...