Cześć.
Tak jak w temacie postu chcę aby dwa widoki były widoczne lub nie w zależności od tego ile itemów ma recyclerView i udało mi się to zrobić jednak pojawia się pewien efekt który chciałbym naprawić.
screenshot-20220813204835.png

Zmieniam widoczność widoków za pomocą zmiennej binding.itemCount. Przez to że zmieniam wartość zmiennej w observe, to występuje efekt 'mignięcia' obrazka i napisu "Favorites group is empty". Obrazek i podpis są widoczne ułamek sekundy, potem znikają i na ekranie pojawia się lista. Proszę o pomoc.

package com.example.spoonacularapp.ui.main.fragments.favorites

import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.example.spoonacularapp.adapters.FavoriteRecipesAdapter
import com.example.spoonacularapp.databinding.FragmentFavoriteRecipesBinding
import com.example.spoonacularapp.ui.main.MainViewModel
import dagger.hilt.android.AndroidEntryPoint

@AndroidEntryPoint
class FavoriteRecipesFragment : Fragment() {

    lateinit var binding: FragmentFavoriteRecipesBinding
    private val mainViewModel: MainViewModel by viewModels()
    private val mAdapter: FavoriteRecipesAdapter by lazy { FavoriteRecipesAdapter(requireActivity(), mainViewModel) }

    override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View {
        // Inflate the layout for this fragment
        binding = FragmentFavoriteRecipesBinding.inflate(layoutInflater, container, false)
        binding.lifecycleOwner = this
        binding.mainViewModel = mainViewModel

        setupRecyclerView(binding.favoriteRecipesRecyclerView)

        val groupId = arguments?.getInt("groupId")

        mainViewModel.readFavoriteRecipes.observe(viewLifecycleOwner) { favoritesEntity ->
            mAdapter.setData(favoritesEntity.filter {
                it.groupId == groupId
            })
            binding.itemCount = mAdapter.itemCount   //  ustawiam widoczność widoków za pomocą tej zmiennej
        }

        return binding.root
    }

    private fun setupRecyclerView(recyclerView: RecyclerView) {
        recyclerView.adapter = mAdapter
        recyclerView.layoutManager = LinearLayoutManager(requireContext())
    }

    override fun onDestroy() {
        super.onDestroy()
        mAdapter.clearContextualActionMode()
    }
}