hyeon.s
개발로그
hyeon.s
전체 방문자
오늘
어제
  • 분류 전체보기 (150)
    • Web 및 인프라 (1)
      • Web (1)
      • Terraform (2)
      • Docker (1)
    • Android (1)
      • 공부 (28)
      • 트러블슈팅 (12)
      • 프로젝트 개발 (10)
      • Compose (2)
      • 우테코 프리코스 (0)
    • Server (5)
      • 공부 (1)
      • Spring (4)
    • 알고리즘 (68)
      • 문제풀이 (C++,Kotlin) (54)
      • 공부 (13)
    • 디자인 (3)
      • UI (3)
    • Language (5)
      • Kotlin (5)
      • JAVA (0)
    • IT 동아리 (8)
      • UMC 3기 (Android) (7)
      • Sopt 32기 (Android) (1)

Github

글쓰기 / 관리자
hELLO · Designed By 정상우.
hyeon.s

개발로그

[UMC/Android] 3주차 - Activity/Fragment간 데이터 전달
IT 동아리/UMC 3기 (Android)

[UMC/Android] 3주차 - Activity/Fragment간 데이터 전달

2022. 10. 12. 23:26
728x90

3주차 -  Activity/Fragment간 데이터 전달

 

배운 점

  • Fragment 간 Data를 주고 받을 때 FragmentManager에 Bundle로 data를 담아 전달하는 방법만 알고 있었는데, Fragment Result API에 대해 새롭게 알게 되었다.
    • 일회성 데이터를 Fragment간 또는 Fragment와 host Activity간 전달하고 싶을 때 사용한다.
    • 사용하기 위해 implementation "androidx.fragment:fragment-ktx:1.3.0" 의존성 추가해야한다.
    • Fragment 간 data 전달
      • Fragment2에서 Fragment1 로 데이터를 전달하는 예시
      • Fragment1에 result Listener를 설정, Fragmetn1 FragmentManager에서 setFratmentResultListene() 호출한다.
      • Fragment2에 setFragmentResult() API를 이용해 FragmentManager에 같은 requestKey로 result값을 set한다.
    • HostActivity에서 data 받기
      • supportFragmentManager 를 get해서 받아와 setFragmentResultListener를 설정해 값을 받아온다.
      • 아래 코드는 해당 리스너 부분이다.
supportFragmentManager
                .setFragmentResultListener("requestKey", this) { requestKey, bundle ->
            val result = bundle.getString("bundleKey") }

🔥 트러블슈팅

JAVA.LANG.CLASSCASTEXCEPTION 발생

val value = etValue.text.toString()
                setFragmentResult("requestKey", bundleOf("bundleKey" to value))

원인

  • value부분을 etValue.text로 설정 후 받는쪽 Activity에서 String으로 받아 JAVA.LANG.CLASSCASTEXCEPTION 이 발생하였다.

해결

  • .toString() 을 이용해 String 자료형으로 바꾸니 해결되었다.
728x90
저작자표시 (새창열림)

'IT 동아리 > UMC 3기 (Android)' 카테고리의 다른 글

[UMC/Android] 8주차 - RoomDB 활용하기  (0) 2022.11.23
[UMC/Android] 7주차 - Thread 이용한 타이머 만들기  (0) 2022.11.16
[UMC/Android] 6주차 - Bottom navigation, TabLayout, ViewPager2  (0) 2022.11.13
[UMC/Android] 5주차 - 메모 어플 만들기  (0) 2022.11.03
[UMC/Android] 2주차 - 레이아웃 만들기  (0) 2022.10.08
'IT 동아리/UMC 3기 (Android)' 카테고리의 다른 글
  • [UMC/Android] 7주차 - Thread 이용한 타이머 만들기
  • [UMC/Android] 6주차 - Bottom navigation, TabLayout, ViewPager2
  • [UMC/Android] 5주차 - 메모 어플 만들기
  • [UMC/Android] 2주차 - 레이아웃 만들기
hyeon.s
hyeon.s
이유있는 코드를 짜자

티스토리툴바