Fragment in ViewPager2 blank upon second viewing

Viewed 187

Currently, i have the below adapter implemented with a ViewPager2 instance

upon initial load FeedFragment loads its data and is visible and fine. By the time I scroll away to the 3rd or so fragment and come back, FeedFragment is blank until I touch it and then it reappears. what is causing this blank state?

    FragmentStateAdapter(fragmentManager, lifecycle) {

    override fun getItemCount(): Int = 5

    override fun createFragment(position: Int): Fragment {
        // Return a NEW fragment instance in createFragment(int)
        return when (position) {
            0 -> FeedFragment()
            else -> Fragment()
        }
    }
}
1 Answers

Maybe this can help.

private var feedFragment: FeedFragment? = null
private var someOtherFragment: SomeOtherFragment? = null

override fun createFragment(position: Int): Fragment {
    when (position){
        0 -> {
            if (feedFragment == null) {
                 feedFragment = FeedFramgment.getInstance()
            }
            return feedFragment
        }
        1 -> {
            if (someOtherFragment == null) {
                 someOtherFragment = SomeOtherFragment.getInstance()
            }
            return someOtherFragment
        }
        else -> {
            return Fragment()
        }
    }
    
}

Related