微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如果我在视图寻呼机中跳过了一个片段,那么片刻就可以看到

如何解决如果我在视图寻呼机中跳过了一个片段,那么片刻就可以看到

android:kotlin:我的viewpager中有几个位于已定义位置的片段,并且根据要求,我想跳过特定片段,例如fragment_2,并在fragment_1的滑动上显示一个片段fragment_3(如果要使用fragment_2)被隐藏。 但是当我这样做时,正在显示的是要跳过的特定fragment_2。

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。