android - fragment 内 fragment {Kotlin}

标签 android android-studio android-fragments kotlin

是否有任何可能的方法将 fragment 放入 fragment 中?

我试图将 viewPager 放在 fragment 中并在 OnCreatedView 上编写代码,但它给我错误!!!

我尝试了这个,但 fragment 适用于 Activity 中的每个 fragment !

pageradapter.kt

class pagerAdapter(fm:FragmentManager):FragmentStatePagerAdapter(fm){

override fun getItem(position: Int): Fragment? {
     return when(position){
        0-> Fragment1()
        1-> Fragment2()
        else -> null
    }

}


override fun getCount(): Int {
    return 2
}
 fun rotatePosition(position: Int):Int{
    return (count -1)-position
}

class pagerAdapter(fm:FragmentManager):FragmentStatePagerAdapter(fm){

override fun getItem(position: Int): Fragment? {
     return when(position){
        0-> Fragment1()
        1-> Fragment2()
        else -> null
    }

}


override fun getCount(): Int {
    return 2
}
 fun rotatePosition(position: Int):Int{
    return (count -1)-position
}

pageradapter2.kt

class pagerAdapter2(fm: FragmentManager):FragmentStatePagerAdapter(fm){

override fun getItem(position: Int): Fragment? {
    return when(position){
        0-> BlankFragment()
        else->null
    }
}

/**
 * Return the number of views available.
 */
override fun getCount(): Int {
    return 1
}

主要 Activity .kt

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    val pagerAdapter2 = pagerAdapter2(supportFragmentManager)
    val pager1= findViewById<View>(R.id.pager2) as ViewPager
    pager1.adapter = pagerAdapter2

    val adapter = pagerAdapter(supportFragmentManager)
    val pager = findViewById<View>(R.id.pager) as ViewPager
    pager.adapter = adapter
    pager.setCurrentItem(adapter.rotatePosition(0), false)
}

附言第一个答案解决了我的问题。

最佳答案

如果您要为 Activity 添加 fragment ,您可以使用 fragmentManagersupportFragmentManager

如果您要为 fragment 添加 fragment - 您应该使用 childFragmentManager,从 fragment 访问 fragmentManager 将导致使用与 Activity 相同的 fragment 。

关于android - fragment 内 fragment {Kotlin},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52599506/

相关文章:

android - 我如何在 Android Studio 的预览中看到长布局

android - 不同的Android Fragment有共同的backstack吗?

java - 将 BroadcastReceiver 更改为现有用户

java - Android - 资源未链接

java - 我怎样才能将 switch case 变成 foreach 循环 - android studio

ubuntu下安卓模拟器没有声音

安卓 fragment 切换

android - 添加 fragment 的不同方式

android - 盗版,盗版,盗版。我能做些什么?

android - Cordova /平台/android/gradlew : Command failed with exit code 1 Error output: