I am facing a problem when swipping between the different fragments of my viewPager . Sometimes everything goes well and sometimes there is a blinking effect when swipping from one fragment to another fragment . It seems like when it blinks , the fragment is recreated . How could i solve it ? Here is my viewpager adapter class :
class ViewPagerAdapter(
list: ArrayList<Fragment>,
fm: FragmentManager,
lifecycle: Lifecycle
):FragmentStateAdapter(fm, lifecycle) {
private val fragmentList:ArrayList<Fragment> = list
override fun getItemCount(): Int {
return fragmentList.size
}
override fun createFragment(position: Int): Fragment {
return fragmentList[position]
}
}
and here is my viewpager fragment :
class ViewPagerFragment : Fragment() {
private lateinit var binding: FragmentViewPagerBinding
val args:ViewPagerFragmentArgs by navArgs()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View {
binding=FragmentViewPagerBinding.inflate(layoutInflater)
val module:String =args.module
val module_outil_fragment_list=arrayListOf<Fragment>(
Question1(),
Question2(),
Question3(),
Question4(),
Question5(),
FinFragment()
)
when(module){
"outil"->{
val adapter=ViewPagerAdapter(
module_outil_fragment_list,
requireActivity().supportFragmentManager,
lifecycle
)
binding.viewPagerFragment.adapter=adapter
}
}
//
// Inflate the layout for this fragment
return binding.root
}
}