android - 如何在Kotlin中实现View Pager同一个Fragment?

标签 android android-fragments kotlin android-viewpager

我想问一下,在 Kotlin 中是否有最好的方法来实现只有一个 fragment 的 View 分页器?

最佳答案

就像您有如下所示的 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`)
}

}

现在,如果您有 fragment ,SampleFragment(比如说)

只需使用您想要的任何 fragment 调用该方法即可,

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

关于android - 如何在Kotlin中实现View Pager同一个Fragment?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57655339/

相关文章:

android-fragments - 在 ImageView 中加载的图像在片段重新加载时消失

java - String.format 在 Kotlin 和 Java 中工作异常

android - 刀柄找不到服务

Android Sqlite 不像多条件问题

android - 如何将 NDK 降级到 r8e

java - 在三个 fragment 之间共享 ViewModel

android - 在 Fragment 中传递参数

android - Kotlin 协程 : one single coroutine at a time in single thread

java - 为什么我的 OpenGL 代码失败了?

Android NFC Card Emulation 尝试模拟卡