MainActivity는 ToolbarFragment와 TextFragment 2개로 이루어져있다.
ToolbarFragment안의 EditText 안에 텍스트를 입력, Seekbar로 텍스트의 크기를 조절하고 Change Text 버튼을 클릭하면
TextFragment의 TextView가 변한다.
Fragment의 통신
Activity가 Fragment를 찾을 땐 findViewById 메소드로 Fragment의 id를 참조하면 되지만,
그 반대의 경우 Fragment끼리 통신할 수 없고 Fragment가 포함된 Activity(hosting)를 거쳐야 한다.
통신 방법
1. Fragment에서 Interface 선언 (안에 추상메소드 구현)
2. Activity(hosting)에서 상속. 구현은 이따
3. activityCallback
ToolbarListener 구현을 MainActivity가 잘 해주고 있는지 확인작업
onAttach는 Lifecycle 주기의 맨 첫번째 주기
try -> 제대로 구현 했다면 context가 ToolbarListener가 맞는지? 맞다면 activityCallback에 context 삽입
catch -> 제대로 구현하지 못했다면 Error는 ClassCastException(ToolbarListener를 구현X) -> 에러메시지 출력
4. onCreateView
button에 ClickListener 구현
onButtonClick()은 다음 단계에 MainActivity에서 구현
5. MainActivity
FragmentManager를 가져와 TextFragment 안의 changeTextProperties 메소드 사용
'Android' 카테고리의 다른 글
리사이클러뷰 (RecyclerView) - 2. ViewModel (0) | 2021.11.26 |
---|---|
리사이클러뷰 (RecyclerView) - 1 (0) | 2021.11.26 |
프래그먼트 (Fragment) - 2. 동적 교체 (0) | 2021.11.25 |
프래그먼트 (Fragment) - 1 (0) | 2021.11.24 |
스피너 (Spinner) (0) | 2021.11.23 |