Skip to content Skip to sidebar Skip to footer

Why Does Apply Called First Before Viewmodel Observer In Android?

See the code: class ProductFragment : Fragment(R.layout.fragment_product) { private val viewModel by viewModels() private lateinit var adapter: Prod

Solution 1:

Solved:

@AndroidEntryPoint
class ProductFragment : Fragment(R.layout.fragment_product) {
    private val viewModel by viewModels<ProductViewModel>()
    private var _binding: FragmentProductBinding? = null
    private val binding get() = _binding!!

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)
        _binding = FragmentProductBinding.bind(view)

        viewModel.product().observe(viewLifecycleOwner, Observer { productList ->
            binding.recyclerView.also {
                it.setHasFixedSize(true)
                it.adapter = ProductAdapter(context, productList)
            }
        })
    }

    override fun onDestroyView() {
        super.onDestroyView()
        _binding = null
    }

}

Post a Comment for "Why Does Apply Called First Before Viewmodel Observer In Android?"