android 自定义view R.styleable爆红问题

以前碰到过好多次clean解决不了的R大面积报红,可是代码没什么问题呀,layout也没什么问题没报错呀,找bug真的是毫无头绪地猜我可能是哪里错了,后来学会了耐心看logcat找有用的提示,根据提示的问题去改代码或者搜索,改bug就快好多啦(然而其实还是很慢)。今天写自定义view的时候就碰到了,所以赶快截图来记到博客里了嘻嘻嘻。


Android出现大面积R报红的话一般是资源文件的问题,首先是用Alt+Enter看能否引入本项目的R包,如果提示中没有import选项的话,试一试clean之后再buid,如果还是不行的话就很可能是在代码中使用了没有定义的或者是有问题的资源。先在控制台的build中查看错误,再到logcat中查看日志,仔细看一般都可以发现是哪里的问题。

比如android 自定义view中如果出现了R.styleable爆红问题,如果没有提示attribute缺失的话,点上面build中的clean project就可以好了,如果提示了attribute缺失的话,去view的代码里看xml里的app:attribute对应在代码里的使用到的资源文件有没有问题,改了之后再clean->build就可以了。
举个例子我在layout中使用自定义的view时给自定义的三个属性赋了值

app:circleRoundWidth="18dp"
app:circleTextColor="#999999"
app:circleTextSize="15sp"

在这里插入图片描述
资源文件(colcors.xml)没有写styleable的话资源文件本身并不会报错,但是我的自定义view是需要用到这个资源的,返回到代码里可以看到这个变量有使用到R.styleable,找不到对应的正确的资源文件R就会大面积报错,build之后提示错误,attribute缺失。
error:attribute ‘xxxxxx’ not found
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

解决步骤

  • 在资源文件colcors.xml中加入我所需要定义的styleable
    在这里插入图片描述
  • 资源问题解决了之后选择build中的 clean project,没有引用资源包的话引用一下,之后就不会有R报红了。
    import 你的包名.R;
    在这里插入图片描述
    在这里插入图片描述
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值