Android扩展知识 - XML文件报错信息:Failed to find style with id 0x7f15febf in current theme

前提条件

  • 由于涉及到Toolbar,因此需要首先设置Activity主题为NoActionBar
  • 如下
    在这里插入图片描述
  • 再来看自定义主题,主要是可以改变colorPrimary、colorAccent常用背景颜色。
    在这里插入图片描述
  • 其实不用这么麻烦,完全可以采用系统自带的NoActionBar,比如
    在这里插入图片描述

  • 写项目的过程中突然发现xml文件报错
  • 但并不影响项目的运行,虚拟机跑出来的效果很正常,就很神奇。
  • 之所以注意到这个问题,是因为有个layout布局,预览不出来,就发现了报错信息。
  • 之前一直忽略xml文件也会报错,今后一定要注意了。

发现问题,解决问题

  • 首先看下报错信息:
    在这里插入图片描述
  • 大意是在现存的主题中没有这个id 0x7f15febf的,但是我们却使用这个了。
  • 回想整个项目中就开始的时候自定义了一个主题,可能那里出错了,我们将自定义主题android:theme="@style/AppTheme.NoActionBar"换成系统主题android:theme="@style/Theme.AppCompat.NoActionBar"
  • 然后我们在xml文件中点击错误信息中的refresh按钮
    在这里插入图片描述
  • 发现错误信息解决了,只剩下警告信息,这里不用管警告信息(主要是字符串写的方式不符合语法)。
  • 但这时,我们还是想保留自定义主题,怎么办呢?
  • 这时我们定位到themes.xml文件,发现我们的自定义主题是在系统自带的下面接着写的,没有覆盖原来的。
    在这里插入图片描述
  • 如果我们把系统自带的Theme注释掉,会怎么样呢?
    在这里插入图片描述
  • 点击错误信息中的refresh按钮,发现错误也同样解决了。
  • 所以这里猜测,如果不覆盖系统自带的Theme定义语句,主题的id不会被系统识别。

深思

  • 其实到这里自己还是没深入了解为什么会发生这个错误
  • 只是凑巧得到了解决办法,但肯定不是唯一的解决办法
  • 总觉得是自定义主题的定义和使用语法那,有需要注意的地方,自己当初没有仔细去学习这一块,拿过来就用了,以后有时间会再去看一遍。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值