簡體   English   中英

如何在Kotlin中實現View Pager相同片段?

[英]How to implement View Pager same Fragment in Kotlin?

我想問一下在Kotlin中是否只有最好的方法來實現只用一個片段的視圖傳呼器嗎?

如果您有如下所示的ViewPager適配器

class ViewPagerAdapter(fragmentManager: FragmentManager) : FragmentPagerAdapter(fragmentManager) {

val fragments:MutableList<Fragment> = ArrayList()
val titles:MutableList<String> = ArrayList()

fun addFragment(fragment: Fragment, title:String){
    fragments.add(fragment)
    titles.add(title)
}

override fun getItem(p0: Int): Fragment = fragments[p0]

override fun getCount(): Int = fragments.size

override fun getPageTitle(position: Int): CharSequence? {
    return titles[position]
}


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

}

現在,如果您有片段,請使用SampleFragment (例如)

只需使用所需的片段調用該方法,

adapter.addFragment(SampleFragment(),"Sample Fragment")
..
..
adapter.addFragment(SampleFragment(),"Sample Fragment 2")

創建模型類FragmentConfig ,在其中保留片段的參數。

將配置fragmentConfigs添加到您的FragmentPagerAdapter和適配器中:

 override fun getItem(position: Int): Fragment {
        val fragmentConfig = fragmentConfigs[position]
        return UniversalListFragment.newInstance(fragmentConfig)
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM