Language/Kotlin

BottomSheetDialogFragment에서 Fragment로 데이터 보내기

Y freesia 2024. 9. 6. 12:19

BottomSheetDialogFragment에서 Fragment로 데이터를 보낼때

  • UserFragment
class UserFragment : Fragment() {
	
    private lateinit var sharedViewModel: SharedViewModel
						:
						:
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        
        super.onViewCreated(view, savedInstanceState)
        
        // ViewModel 초기화
        sharedViewModel = ViewModelProvider(requireActivity()).get(SharedViewModel::class.java)

        // ViewModel의 데이터를 관찰하여 UI 업데이트
        sharedViewModel.sharedData.observe(viewLifecycleOwner, Observer { data ->
            Log.d("myTag", "Received data: $data")
        })
        				:
                		:
}
  • BottomSheetDialogFragment
class ModalBottomSheet : BottomSheetDialogFragment() {

    private lateinit var sharedViewModel: SharedViewModel
    					:
                        :
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
            super.onViewCreated(view, savedInstanceState)

            // ViewModel 초기화
            sharedViewModel = ViewModelProvider(requireActivity()).get(SharedViewModel::class.java)
            
             binding.btnClose.setOnClickListener{

             // 데이터를 ViewModel에 설정
             sharedViewModel.sharedData.value = "Send Data"
             dismiss()
             			:
                        :
}
 
반응형