-
[Android/kotlin] Bundle 사용법, Fragment와 Fragment 사이 데이터 전달, Fragment 전환Android/kotlin 2022. 8. 24. 22:27
Fragment와 Fragment 사이에 데이터는 Bundle을 이용하여 가능하다.
1. 전달하는 Fragment
val fragmentA = TeamMainFragment() val bundle = Bundle() bundle.putString("teamName",teamaBody.teamName.toString()) fragmentA.arguments=bundle val transaction = requireActivity().supportFragmentManager.beginTransaction() transaction.add(R.id.container,fragmentA) transaction.replace(R.id.container, fragmentA.apply { arguments = bundle }).addToBackStack(null) transaction.commit()
bundle 의 데이터종류에 따라
bundle.putString("channelName",result.list[position].channelName) bundle.putLong("channelSeq",result.list[position].channelSeq!!)
putString, putLong 으로 적어주면 된다.
첫번째 인자는 key값, 두번째 인자는 value값이다.
위에 코드에서 TeamMainFragment()는 바뀌어지는 fragment이다.
2. 전달받는 Fragment
arguments?.let{ root.board_name.text=it.getString("channelName") }
다음과 같이 key값으로 값을 받을 수 있다.
다른 방법
값이 없을 때 즉 null 값이 아닐 때 bundle값을 받아오게 짜려면 이런식으로 구성
if(requireArguments().getString("startDate")!=null){ Log.e("startdate",requireArguments().getString("startDate").toString()) }
'Android > kotlin' 카테고리의 다른 글
[Android/ kotlin] STOMP 를 이용한 실시간 양방향 채팅 기능 구현 (0) 2023.02.16 [android/kotlin] recyclerview item clicklistener (0) 2022.08.28 [Android / kotlin] Retrofit으로 LocalDateTime형식 데이터 주고받기 (0) 2022.07.17 [Android/kotiln] jwt 토큰 임시 저장, shared preference, OkHttp3 Interceptor 사용법 (0) 2022.06.21