0

android: kotlin: I have several fragments in my viewpager on defined positions and as per the requirement i want to skip the particular fragment say fragment_2 and show the next one say fragment_3 on the swipe of fragment_1 if fragment_2 is meant to be hidden. But when i do that, the particular fragment_2 which is meant to be skipped is being shown for a moment.

Providing my viewpager adapter code here below. any help would be appreciated.

    class ViewPagerAdapter(activity: Activity,count: Int, fm: FragmentManager): FragmentPagerAdapter(fm) {

    private var activity: Activity? = null
    private var count: Int = 0
    internal var registeredFragments = SparseArray<Fragment>()

    init {
        this.count = count
        this.activity = activity
    }


    override fun getItem(position: Int): Fragment {
        var result: Fragment = ScreenOneFragment()

        when (position) {
            0 -> result = ScreenOneFragment()
            1 -> result = ScreenTwoFragment()
            2 -> result = CustomFragment()
            3 -> result = NumbersFragment()
            4 -> result = WikitestFragment()
            5 -> result = WordsFragment()
            6 -> result = NFCFragment().apply { HomeActivity.mCallback = this  }
            7 -> result = ListenFragment()
            8 -> result = FakeScreenFragment()
        }
        return result
    }

    override fun getPageTitle(position: Int): CharSequence {
        return ""
    }

    override fun getCount(): Int {
        return count
    }

    override fun instantiateItem(container: ViewGroup, position: Int): Any {
        val fragment = super.instantiateItem(container, position) as Fragment
        registeredFragments.put(position, fragment)
        return fragment
    }

    override fun destroyItem(container: ViewGroup, position: Int, `object`: Any) {
        registeredFragments.remove(position)
        super.destroyItem(container, position, `object`)
    }

    fun getRegisteredFragment(position: Int): Fragment? {
        return registeredFragments.get(position)
    }
}
Jay Patel
  • 11
  • 2

0 Answers0