Tablayout和ViewBinding使用问题

今天项目开发中遇到的问题,Tablayout 报错:

java.lang.NullPointerException: Missing required view with ID: com.*.*:id/back_tab

xml布局内容

<com.google.android.material.tabs.TabLayout
                android:id="@+id/tabLayout"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="start"
                android:layout_marginStart="@dimen/dp_16"
                app:tabIndicatorColor="@color/item_selected"
                app:tabIndicatorHeight="@dimen/dp_6"
                app:tabSelectedTextColor="@color/item_selected"
                app:tabTextColor="@color/item_unselected">

                <com.google.android.material.tabs.TabItem
                    android:id="@+id/front_tab"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="test1" />

                <com.google.android.material.tabs.TabItem
                    android:id="@+id/back_tab"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="test2" />
            </com.google.android.material.tabs.TabLayout>

研究后发现:TabItem 是一个特殊的“视图”,它允许您在布局中为 TabLayout 声明选项卡项。这个视图实际上并没有添加到 TabLayout,它只是一个允许设置选项卡项的文本、图标和自定义布局的虚拟视图。

解决方法:

去掉ID就好(android:id="@+id/front_tab")

后续的切换事件可以使用index来处理

版权声明:
作者:skwen
链接:https://vicent.top/2022/11/21/tablayout%e5%92%8cviewbinding%e4%bd%bf%e7%94%a8%e9%97%ae%e9%a2%98/
来源:爱分享
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
< <上一篇
下一篇>>
文章目录
关闭
目 录