Tablayout onTabSelected calls twice in the below code when the fragment loads for the first time. This is my fragment code. I am using view pager with tabs layout.
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
setHasOptionsMenu(true)
setupViewPager(binding.viewPager)
binding.tabLayout.setupWithViewPager(binding.viewPager)
if (tabSelectedListener == null) {
println(tabSelectedListener)
tabSelectedListener = object : TabLayout.OnTabSelectedListener {
override fun onTabSelected(tab: TabLayout.Tab?) {
println("tab.position = ${tab?.position}")
if (tab != null) {
when (tab.position) {
0 -> {
println("0 called")
}
1 -> {
println("1 called")
}
2 -> {
println("2 called")
}
}
}
}
override fun onTabUnselected(tab: TabLayout.Tab?) {
}
override fun onTabReselected(tab: TabLayout.Tab?) {
}
}
binding.tabLayout.addOnTabSelectedListener(tabSelectedListener!!)
}
}