Fragment to Fragment with Data
프래그먼트에서 프래그먼트로 이동하는 방법은 다양하다.
단일 활동 구조 (single activity architexture) 를 사용한다는 가정하에
(간단히 말하면, 한 액티비티에 여러개의 프레그먼트가 있는 구조이다. )
프래그먼트에서 데이터와 함께 이동하는 방법에 대해 알아본다.
정확히 말하자면, DB와 연동된 데이터가 뜨는 재활용뷰에서 특정 아이템을 선택한다. 그 선택된 아이템의 상세 페이지로 이동한다. 해당 상세 페이지에는 그 아이템의 정보가 보여지게 하는 것이다.
단순 프래그먼트 이동 방법
이동을 시작하는 프래그먼트에서 아래의 코드를 작성해주면 되긴하다.
fun onClick(view:View){
val 도착프래그먼트 = 도착Fragment.newInstance(클릭된 아이템.id)
val 이동수단 = activity.supportFragmentManager
이동수단.beginTransaction().replace(R.id.fragment_container, 도착프래그먼트)
.commit()
}
그러나 위의 방법은 바람직하지 않다.
프래그먼트가 독자적이고 구성 가능한 단위가 되어있지 않기 때문이다.
프래그먼트의 독립성을 유지하기 위해 콜백 인터페이스를 정의하고 호스팅 액티비티가 해당 콜백 인터페이스를 구현해
프래그먼트를 교체하도록 만드는 것이 바람직하다.
프래그먼트 콜백 인터페이스
728x90
반응형
'Programming > Android' 카테고리의 다른 글
DialogFrag to Frag with Data (0) | 2021.07.29 |
---|---|
JetPack AAC: LiveData (0) | 2021.07.27 |
Thread (0) | 2021.07.27 |