Kotlin 如果我跳过视图寻呼机中的一个片段,它会暂时可见

Kotlin 如果我跳过视图寻呼机中的一个片段,它会暂时可见,kotlin,android-viewpager,Kotlin,Android Viewpager,android:kotlin:我在我的viewpager中定义了几个片段,根据需要,我想跳过特定片段,比如片段2,如果片段2是隐藏的,则在片段1的滑动上显示下一个片段,比如片段3。 但当我这样做时,将要跳过的特定片段_2将显示一段时间。 在下面提供我的viewpager适配器代码。 任何帮助都将不胜感激 class-ViewPagerAdapter(活动:活动,计数:整数,fm:FragmentManager):FragmentPagerAdapter(fm){ 私有变量活动:活动?=null

android:kotlin:我在我的viewpager中定义了几个片段,根据需要,我想跳过特定片段,比如片段2,如果片段2是隐藏的,则在片段1的滑动上显示下一个片段,比如片段3。 但当我这样做时,将要跳过的特定片段_2将显示一段时间。

在下面提供我的viewpager适配器代码。 任何帮助都将不胜感激

class-ViewPagerAdapter(活动:活动,计数:整数,fm:FragmentManager):FragmentPagerAdapter(fm){
私有变量活动:活动?=null
私有变量计数:Int=0
内部var registeredFragments=SparseArray()
初始化{
this.count=count
这个。活动=活动
}
覆盖趣味getItem(位置:Int):片段{
变量结果:Fragment=ScreenOneFragment()
何时(职位){
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()
}
返回结果
}
覆盖getPageTitle(位置:Int):字符序列{
返回“”
}
重写fun getCount():Int{
返回计数
}
覆盖元素(容器:视图组,位置:Int):任意{
val fragment=super。将元素(容器、位置)实例化为片段
registeredFragments.put(位置,片段)
返回片段
}
覆盖项(容器:视图组,位置:Int,`object`:Any){
已注册碎片。移除(位置)
super.destroyItem(容器、位置、`object`)
}
fun getRegisteredFragment(位置:Int):片段{
返回registeredFragments.get(位置)
}
}

这是预期行为。如果你想“跳过”片段,你可以禁用动画:谢谢你的回复Jenea,我会检查并更新你。
    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)
    }
}