Home > Net >  Pass data from dialogfragment to fragment is not working
Pass data from dialogfragment to fragment is not working

Time:02-10

I am trying to transfer data from a dialog fragment to a fragment from the place where it is shown. I used live ViewModel data, but the observer not calling in the fragment.

Are there any mistakes I made, tell me please?

DialogFragment:

 private val viewModel: FacilityViewModel by viewModels {
    ViewModelFactory(FacilityRepository(RemoteDataSource().buildApi(FacilityAPI::class.java)))
 }

 binding.btnDone.setOnClickListener{
     //mOnInputListener?.sendInput(coordinates)
     viewModel.setMapPoint(coordinates)
     dismiss()
 }

Fragment (observer inside of onViewCreated):

viewModel.mapPoint.observe(viewLifecycleOwner, Observer<Point> {point ->
     logD("POintssss is: "  point.longitude.toString())
     if(point.latitude !=0.0 && point.longitude != 0.0){
        binding.coordinates.text = point.latitude.toString()   point.longitude.toString()
     }
 })

YandexMapFragment().show(requireActivity().supportFragmentManager, "tag")

ViewModel:

private val _mapPoint = MutableLiveData<Point>()
val mapPoint: LiveData<Point>
    get() = _mapPoint
fun setMapPoint(point: Point) {
    logD("setMapPOint started: ${point.longitude}")
    _mapPoint.value = point
}

CodePudding user response:

  •  Tags:  
  • Related