Tablayout onTabSelected calling twice

23 views Asked by At

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!!)
    }

}
0

There are 0 answers