Kotlin 如何在没有片段或viewPager的情况下为TabLayout制作适配器
我试着做一个TabLayout,但我不想要一个viewPager,我只想要一个Tablayer,但是所有的教程都用一个viewPager来教,我想用一个viewPager来做一切,我想在我的送货应用程序中为分类设置一个TabLayou,比如ifood store page,我唯一的方法就是使用一个TabLayou而不使用viewPager,我不知道这是不是最好的方法,但我会把我的代码和图片放在我的XD布局中,试图解释我想说什么,对不起,我的英语我已经尽力了 (我正在做一个tabLayou,在一个带有底部导航的片段中) 我的碎片和一张表格Kotlin 如何在没有片段或viewPager的情况下为TabLayout制作适配器,kotlin,android-tablayout,Kotlin,Android Tablayout,我试着做一个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有许多类别,我想在选项卡中单击并滚动以对选定类别进行分类,这是可能的吗