Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
表格布局不';在Android kotlin中无法在片段中工作_Android_Kotlin_Tabs_Fragment - Fatal编程技术网

表格布局不';在Android kotlin中无法在片段中工作

表格布局不';在Android kotlin中无法在片段中工作,android,kotlin,tabs,fragment,Android,Kotlin,Tabs,Fragment,我试图在我的一个片段中添加tablayout mainActivity中的tablayout运行良好,但fragment中的tablayout不起作用 选项卡菜单显示良好,但我的viewPager中没有显示任何内容 HomeDetailFragment.kt class HomeDetailFragment : Fragment() { lateinit var homeDetailRecyclerViewAdapter : HomeDetailRecyclerViewAdapter pr

我试图在我的一个片段中添加tablayout

mainActivity中的tablayout运行良好,但fragment中的tablayout不起作用

选项卡菜单显示良好,但我的viewPager中没有显示任何内容

HomeDetailFragment.kt

class HomeDetailFragment : Fragment() {
lateinit var homeDetailRecyclerViewAdapter : HomeDetailRecyclerViewAdapter

private val myContext = FragmentActivity()

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
    // Inflate the layout for this fragment
    return inflater.inflate(R.layout.fragment_home_detail, container, false)

}

override fun onActivityCreated(savedInstanceState: Bundle?) {
    super.onActivityCreated(savedInstanceState)
    configureTopNavigation()
}

private fun configureTopNavigation(){
    vp_home_detail.adapter = HomeDetailPagerAdapter(myContext.supportFragmentManager, 5)

    vp_home_detail.offscreenPageLimit = 5
    tl_home_detail_bar.setupWithViewPager(vp_home_detail)

}
}

HomeDetailPagerAdapter.kt

class HomeDetailPagerAdapter (fm : FragmentManager, val fragmentCount : Int): FragmentStatePagerAdapter(fm){

private val fragmentTitleList = mutableListOf("전체", "요가","발레", "태권도", "헬스")

override fun getItem(position:Int): Fragment{

    when(position){
        0-> return HomeFragment()
        1-> return WholeFragment()
        2-> return YogaFragment()
        3-> return BalletFragment()
        4-> return TakFragment()
        else -> return HomeFragment()
    }
}

override fun getPageTitle(position: Int):CharSequence?{
    return fragmentTitleList[position]
}
override fun getCount(): Int = fragmentCount
}

fragment_home_detail.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#f2f7ff"
tools:context=".ui.home.HomeDetailFragment">

<com.google.android.material.tabs.TabLayout
    android:id="@+id/tl_home_detail_bar"
    android:layout_width="match_parent"
    android:layout_height="48dp"
    android:background="#ffffff"
    app:tabIndicatorColor="#2c77f1"
    android:layout_alignParentTop="true"
    android:theme="@style/HomeDetailTab"
    android:elevation="5dp" />

<androidx.viewpager.widget.ViewPager
    android:id="@+id/vp_home_detail"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@id/tl_home_detail_bar"/>


使用
childFragmentManager
而不是
myContext.supportFragmentManager

vp_home_detail.adapter = HomeDetailPagerAdapter(childFragmentManager, 5)

尝试使用
childFragmentManager
而不是
myContext.supportFragmentManager
。希望这会有所帮助you@Md.Asaduzzaman天哪……非常感谢……你是最棒的人……::):)@Md.Asaduzzaman好的:):)