Android~记录material.tabs.TabLayout一个bug
在使用TabLayout过程中发现一个奇葩的bug,说我xml布局文件有问题。
1、完整log
2019-12-30 16:50:41.426 9068-9068/? E/ActivityThread: Failed to find provider info for com.mirrorlink.android.provider
2019-12-30 16:50:41.586 10184-10184/? E/AndroidRuntime: FATAL EXCEPTION: mainjava.lang.RuntimeException: Unable to start activity ComponentInfo{com.ut.smartcook/com.ut.smartcook.MainActivity}: android.view.InflateException: Binary XML file line #24: Binary XML file line #24: Error inflating class com.google.android.material.tabs.TabLayoutat android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3021)at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3156)at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1864)at android.os.Handler.dispatchMessage(Handler.java:106)at android.os.Looper.loop(Looper.java:205)at android.app.ActivityThread.main(ActivityThread.java:6991)at java.lang.reflect.Method.invoke(Native Method)at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:884)Caused by: android.view.InflateException: Binary XML file line #24: Binary XML file line #24: Error inflating class com.google.android.material.tabs.TabLayoutCaused by: android.view.InflateException: Binary XML file line #24: Error inflating class com.google.android.material.tabs.TabLayoutCaused by: java.lang.reflect.InvocationTargetExceptionat java.lang.reflect.Constructor.newInstance0(Native Method)at java.lang.reflect.Constructor.newInstance(Constructor.java:343)at android.view.LayoutInflater.createView(LayoutInflater.java:647)at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:790)at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)at android.view.LayoutInflater.rInflate(LayoutInflater.java:863)at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)at android.view.LayoutInflater.rInflate(LayoutInflater.java:866)at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)at android.view.LayoutInflater.inflate(LayoutInflater.java:515)at android.view.LayoutInflater.inflate(LayoutInflater.java:423)at android.view.LayoutInflater.inflate(LayoutInflater.java:374)at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:435)at android.app.Activity.setContentView(Activity.java:2777)at com.ut.smartcook.MainActivity.onCreate(MainActivity.java:34)at android.app.Activity.performCreate(Activity.java:7159)at android.app.Activity.performCreate(Activity.java:7150)at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1272)at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3001)at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3156)at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1864)at android.os.Handler.dispatchMessage(Handler.java:106)at android.os.Looper.loop(Looper.java:205)at android.app.ActivityThread.main(ActivityThread.java:6991)at java.lang.reflect.Method.invoke(Native Method)at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:884)Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.content.res.ColorStateList.getDefaultColor()' on a null object referenceat com.google.android.material.tabs.TabLayout.<init>(TabLayout.java:548)at com.google.android.material.tabs.TabLayout.<init>(TabLayout.java:461)at java.lang.reflect.Constructor.newInstance0(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:343) at android.view.LayoutInflater.createView(LayoutInflater.java:647) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:790) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730) at android.view.LayoutInflater.rInflate(LayoutInflater.java:863) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) at android.view.LayoutInflater.rInflate(LayoutInflater.java:866) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) at android.view.LayoutInflater.inflate(LayoutInflater.java:515) at android.view.LayoutInflater.inflate(LayoutInflater.java:423) at android.view.LayoutInflater.inflate(LayoutInflater.java:374) at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:435) at android.app.Activity.setContentView(Activity.java:2777) at com.ut.smartcook.MainActivity.onCreate(MainActivity.java:34) at android.app.Activity.performCreate(Activity.java:7159) at android.app.Activity.performCreate(Activity.java:7150) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1272) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3001) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3156) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1864) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:205) at android.app.ActivityThread.main(ActivityThread.java:6991) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:884)
2、关键log
Caused by: android.view.InflateException: Binary XML file line #24: Binary XML file line
#24: Error inflating class com.google.android.material.tabs.TabLayout
Caused by: android.view.InflateException: Binary XML file line
#24: Error inflating class com.google.android.material.tabs.TabLayout
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method
'int android.content.res.ColorStateList.getDefaultColor()' on a null object referenceat com.google.android.material.tabs.TabLayout.<init>(TabLayout.java:548)
大概意思是说Tablayout初始化时,tabTextColors = createColorStateList(tabTextColors.getDefaultColor(), selected);
tabTextColors为空。
3、解决办法
app:tabTextColor="#81858B"
app:tabSelectedTextColor="#31353B"
将tabTextColor放在tabSelectedTextColor之前声明即可,如果没在配置好tabTextColor之后配置tabSelectedTextColor会报错!
Android~记录material.tabs.TabLayout一个bug相关推荐
- TabLayout使用介绍(com.google.android.material.tabs.TabLayout)
TabLayout TabLayout的使用 一.控件库的导入 二.基本使用 activity_main.xml TabFragment.java MainActivity.java 三.TabLay ...
- com.google.android.material.tabs.TabLayout 选择tab 加粗字体加大
引用: https://blog.csdn.net/qq_34906385/article/details/93524163 <com.google.android.material.tabs. ...
- Android学习笔记 56. TabLayout 选项卡布局
Android学习笔记 Android基础开发--布局 文章目录 Android学习笔记 Android基础开发--布局 56. TabLayout 选项卡布局 56.1 简介 56.2 TabIte ...
- android之ViewPager与TabLayout
使用 TabLayout 很容易实现选项卡的功能.这里将结合 ViewPager.Fragment.TabLayout实现一个具有选项卡功能的程序.本例再上篇讲解的ViewPager与Fragment ...
- Android Material Design TabLayout属性app:tabMode和app: tabGravity
Android Material Design TabLayout属性app:tabMode和app: tabGravity Android Material Design 中的TabLayout有两 ...
- 记录一个bug 关于 java 解压缩包 写入本地报错 :java.io.FileNotFoundException(系统找不到指定的路径。)
记录一个bug 关于 java 解压缩包 写入本地报错 :java.io.FileNotFoundException(系统找不到指定的路径.) 第一想法是路径问题: 1.检查文件路径是否正确 2.另外 ...
- 从 Android 静音看正确的查bug的姿势?
0.写在前面 没抢到小马哥的红包,无心回家了,回公司写篇文章安慰下自己TT..话说年关难过,bug多多,时间久了难免头昏脑热,不辨朝暮,难识乾坤...艾玛,扯远了,话说谁没踩过坑,可视大家都是如何从坑 ...
- 从 Android 静音看正确的查找 bug 的姿势
0.写在前面 没抢到小马哥的红包,无心回家了,回公司写篇文章安慰下自己TT..话说年关难过,bug多多,时间久了难免头昏脑热,不辨朝暮,难识乾坤...艾玛,扯远了,话说谁没踩过坑,可视大家都是如何从坑 ...
- Android 利用Intent启动另一个app应用时,一个崩溃的问题
今天在做Launcher项目时,需要显示所有app,并且点击调用,在调用时,遇到一个崩溃问题.在此做一记录. 问题:在本地写的一个demo应用,里面有一个bug,点击这个demo应用,应用崩溃.在la ...
最新文章
- Jackson 注解 -- 忽略空字段
- mysql opensuse_opensuse免安装mysql
- leetcode —— 866. 回文素数
- Composer/Packagist 最新国内源
- (原创)我眼中的设计模式系列之外观模式(二)
- 《逻辑与计算机设计基础(原书第5版)》——1.7 格雷码
- IDEA主题分享与代码颜色设置
- Java毕设项目直播购物平台(java+VUE+Mybatis+Maven+Mysql)
- system/build.prop参数说明
- 百度-还可以这样玩!
- ASUS华硕笔记本FN快捷键无法调节屏幕亮度
- RxJavaAndroid学习笔记
- bzoj3899 弦论
- 关于创建电子邮件链接时如何发送邮件内容
- 什么是最好的在线UML软件工具?
- Python面试——基础面试题
- DOS命令不需格式化U盘-FAT32轻松转换成NTFS
- CSS-div水平居左-居右-居中显示
- Part-Ⅰ3. 稳态等效电路建模/损耗/效率(三)
- 四川子苗电商:抖音直播安心购怎么解约?