Dhaval Gondaliya
07/01/2021, 5:52 AM@AndroidEntryPoint
class ShowBuySellPostFragment(val data: BuySellModel.Data) : Fragment() {
private lateinit var binding: FragmentShowBuySellBinding
private val viewModel: BuySellViewModel by viewModels({ requireParentFragment() })
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
binding = FragmentShowBuySellBinding.inflate(inflater, container, false)
return binding.root
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
binding.apply {
lifecycleScope.launchWhenResumed {
viewModel.getAllBuySellSubCategory(data.catId)
viewModel.liveData.observe(viewLifecycleOwner) {
when (it.status) {
Status.LOADING -> {
filterView.visibility = View.GONE
}
Status.ERROR -> {
filterView.visibility = View.GONE
}
Status.SUCCESS -> {
if (it.data != null && it.data.isNotEmpty()) {
val adapter = BuySellFilterAdapter(it.data)
filterView.visibility = View.VISIBLE
filterView.adapter = adapter
adapter.notifyDataSetChanged()
} else {
filterView.visibility = View.GONE
}
}
}
}
}
}
}
override fun onPause() {
super.onPause()
if (isRemoving || !isVisible) {
binding.unbind()
}
}
}