Android Studio (Kotlin)

Android Component (4)

애용쓰 2022. 4. 18. 03:49

Fragment간 통신

서로 다른 Fragment들은 직접적으로 정보를 주고받을 수 없다. 반드시 Host Activity를 거쳐서 이루어져야한다. ViewModel 혹은 인터페이스를 활용하여 통신이 이루어진다.

 

  • interface를 선언하고 해당 interface의 구현을 통한 간접 호출 :  interface를 선헌하고, Activity에서 구현한다. fragment에서는 interface를 호출한다.
  • bundle을 이용한 통신 : Activity가 중간 전달자 역할을 수행한다. activity의 method를 호출하면서 parameter로 전달한다. activity에서는 받은 값을 하위 fragment로 전달한다. 전달 받는 fragment에서는 arguments에서 읽는다.
  • fragmentResult를 이용한 통신 : setFragmentResultListener와 setFragmentResult 활용, gradle에 의존성 추가

 

Navigation

Android Jetpack에 추가된 Navigation 기능을 통해 만들어 둔 Fragment 간에 이동이 가능