Kotlin 如何在没有片段或viewPager的情况下为TabLayout制作适配器

Kotlin 如何在没有片段或viewPager的情况下为TabLayout制作适配器,kotlin,android-tablayout,Kotlin,Android Tablayout,我试着做一个TabLayout,但我不想要一个viewPager,我只想要一个Tablayer,但是所有的教程都用一个viewPager来教,我想用一个viewPager来做一切,我想在我的送货应用程序中为分类设置一个TabLayou,比如ifood store page,我唯一的方法就是使用一个TabLayou而不使用viewPager,我不知道这是不是最好的方法,但我会把我的代码和图片放在我的XD布局中,试图解释我想说什么,对不起,我的英语我已经尽力了 (我正在做一个tabLayou,在一个

我试着做一个TabLayout,但我不想要一个viewPager,我只想要一个Tablayer,但是所有的教程都用一个viewPager来教,我想用一个viewPager来做一切,我想在我的送货应用程序中为分类设置一个TabLayou,比如ifood store page,我唯一的方法就是使用一个TabLayou而不使用viewPager,我不知道这是不是最好的方法,但我会把我的代码和图片放在我的XD布局中,试图解释我想说什么,对不起,我的英语我已经尽力了

(我正在做一个tabLayou,在一个带有底部导航的片段中)

我的碎片和一张表格

class LojaFragment : Fragment() {

companion object {
    fun newInstance() = LojaFragment()
}

private lateinit var viewModel: LojaViewModel

override fun onCreateView(
    inflater: LayoutInflater, container: ViewGroup?,
    savedInstanceState: Bundle?
): View? {
    return inflater.inflate(R.layout.loja_fragment, container, false)

}

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


}


private fun setUpTabs(){
    val adapter = TabAdapter(requireActivity().supportFragmentManager)
    adapter.addFragment(BlankFragment(), "home")
    adapter.addFragment(NotificationsFragment(), "notifications")
    viewPager.adapter = adapter
    tabsLayout.setupWithViewPager(viewPager)


}
class AdapterCategorias(private val string: List<String>, val onClickListener: (string: String) -> Unit): RecyclerView.Adapter<AdapterCategorias.MyViewHolder>() {
override fun onCreateViewHolder(
    parent: ViewGroup,
    viewType: Int
): AdapterCategorias.MyViewHolder {
    val itemView = LayoutInflater.from(parent.context)
        .inflate(R.layout.card_categorias_populares, parent, false)

    return MyViewHolder(itemView)
}

override fun onBindViewHolder(holder: AdapterCategorias.MyViewHolder, position: Int) {
    val stringTeste = string[position]
    with(holder){
        txtNomeCategoria.text = stringTeste
    }
}

override fun getItemCount(): Int = string.size

class MyViewHolder(itemView: View): RecyclerView.ViewHolder(itemView){

    val txtNomeCategoria = itemView.txtNomeCategoria

}
这是LojaFragment的XML

<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">



<com.google.android.material.appbar.AppBarLayout
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:id="@+id/appBarLayout"
   android:background="#FFEA00">

   <androidx.appcompat.widget.Toolbar
       android:id="@+id/toolbarTeste"
       android:layout_width="match_parent"
       android:layout_height="100dp"
       android:background="@drawable/fundo2_amarelo"
       app:layout_scrollFlags="scroll|enterAlways|snap">

       <ImageView
           android:id="@+id/imageView8"
           android:layout_width="match_parent"
           android:layout_height="100dp"
           android:contentDescription="TODO" />

   </androidx.appcompat.widget.Toolbar>


   <com.google.android.material.tabs.TabLayout
       android:id="@+id/tabsLayout"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       app:tabGravity="fill"
       app:tabInlineLabel="true"
       app:tabMode="fixed"
       app:tabTextColor="#000000"/>




 </com.google.android.material.appbar.AppBarLayout>

<androidx.viewpager.widget.ViewPager
    android:id="@+id/viewPager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"/>

我重复我不知道这是否是最好的方法,我只是认为选项卡布局是唯一的方法,我如何添加更多选项卡而不添加片段,并且可以使用tablayout在一个选项卡中单击并滚动一个recyclerView,因此选项卡是用于类别的,我的recyclerView有许多类别,我想在选项卡中单击并滚动以对选定类别进行分类,这是可能的吗