woong's
Android Fragment 통신 하기 본문
Android Fragment 통신 하기
안녕하세요. android Fragment 통신에 대해서 포스트를 써보려 합니다 .
Android Fragment 를 엄청 많이 사용 하고 있습니다 .
사용하면서 간혹 그런 경우가 있습니다 .
Fragment 에서 Activity를 호출해야 되는데 ... 어떻게 하지 ... 이런 경우가 있죠
Fragment 에서도 Activity 를 호출 할 수 있습니다 .
호출방법
1. Fragment 에 이벤트 인터페이스 정의
첫번째로 Fragment 에 이벤트 인터페이스를 정의 해야 합니다 .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | // container (프래그먼트를 포함하는) Activity 가 이 인터페이스를 구현해야 한다. public interface OnHeadlineSelectedListener { public void onArticleSelected(int position); } @Override public void onAttach(Activity activity) { super.onAttach(activity); try { mCallback = (OnHeadlineSelectedListener) activity; } catch (ClassCastException e) { throw new ClassCastException(activity.toString()+ " must implement OnHeadlineSelectedListener"); } } |
Frament 에 위의 코드를 넣어 주면 되겠습니다.
2. Activity에 이벤트 인터페이스 구현
Fragment 에 인터페이스를 정의 하고 Activity 에서 구현을 진행 합니다 .
1 | implements 인터페이스를 정의한 Fragment.OnHeadlineSelectedListener |
위코드를 정의하면 하단의 메서드가 생성 됩니다 .
1 2 3 4 5 6 7 8 | /** * Fragment 에서 호출 */ @Override public void onArticleSelected(int position) { } |
4. 이벤트 콜백 호출
이제 모든 준비가 끝났습니다 .
1 | mCallback.onArticleSelected(position); |
위코드를 호출하면 , Activity의 onArticleSelected 가 호출이 됩니다 . 여러군데에서 호출될 경우를 대비해서 position 값이
있습니다 . position 값을 이용해서 Activity 에서 분기문을 통해서 Acticity 안의 호출 하고 싶은 부분을 호출 할 수 있습니다 .
'Develop > Android' 카테고리의 다른 글
Android 전체 화면 Font 적용하기 (0) | 2016.02.14 |
---|---|
Android Intent 로 객체 전달 하기 (0) | 2016.02.14 |
Android 다이얼 or 전화걸기 (0) | 2016.02.14 |
Android Adapter 에서 Button.OnClickListener position 값 전달하기 (0) | 2016.02.14 |
Android 내부 연락처 정보 가져오기 (1) | 2016.02.14 |
Comments