Android 使用setupWithViewPager时,XML选项卡项消失
我正在尝试添加TabItem的表单XML,稍后希望在java代码中将它们与ViewPager连接起来。但只要我调用Android 使用setupWithViewPager时,XML选项卡项消失,android,android-viewpager,android-tablayout,Android,Android Viewpager,Android Tablayout,我正在尝试添加TabItem的表单XML,稍后希望在java代码中将它们与ViewPager连接起来。但只要我调用tab\u layout.setupWithViewPager(寻呼机)选项卡项就会变为空白 片段代码: override fun onViewCreated(view: View, savedInstanceState: Bundle?) { val listOfFragment = listOf(Fragment1.newInstance(),Fragment2.newI
tab\u layout.setupWithViewPager(寻呼机)
选项卡项就会变为空白
片段代码:
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
val listOfFragment = listOf(Fragment1.newInstance(),Fragment2.newInstance(),Fragment3.newInstance())
homePagerAdapter = HomePagerAdapter(childFragmentManager, listOfFragment)
view_pager.adapter = homePagerAdapter
tab_layout.setupWithViewPager(view_pager)
}
碎片页雷达:
class HomePagerAdapter(fm: FragmentManager, private val listOfFragment: List<FragmentData>) :
FragmentPagerAdapter(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) {
override fun getItem(position: Int): Fragment {
return listOfFragment[position].fragment
}
override fun getCount(): Int {
return listOfFragment.size
}
}
class HomePagerAdapter(fm:FragmentManager,private val listOfFragment:List):
FragmentPagerAdapter(fm、行为\仅恢复\当前\片段){
覆盖趣味getItem(位置:Int):片段{
返回listOfFragment[position]。fragment
}
重写fun getCount():Int{
返回listOfFragment.size
}
}
XML:
预期:
请注意:我很清楚实现这一点的其他几种方法,比如动态添加TabItem,然后连接ViewPager,并添加tab\u布局。选择tab(tab\u布局。getTabAt(位置))
ViewPager的onPageSelected回调。
但我希望在不修改java代码的情况下,将XML选项卡项与ViewPager连接起来。提前感谢。方法tabLayout.setupWithViewPager()
,然后从适配器添加选项卡。
使用适配器填充表格布局
<...>
<com.google.android.material.tabs.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/title_appbar">
<com.google.android.material.tabs.TabItem
android:id="@+id/profile_tab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:icon="@drawable/ic_profile"
android:text="@string/profile" />
<com.google.android.material.tabs.TabItem
android:id="@+id/photos_tab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:icon="@drawable/ic_photos"
android:text="@string/photos" />
<com.google.android.material.tabs.TabItem
android:id="@+id/live_tab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:icon="@drawable/ic_live"
android:text="@string/live" />
</com.google.android.material.tabs.TabLayout>
<androidx.viewpager.widget.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tab_layout">
</androidx.viewpager.widget.ViewPager>
</...>