在下面的R.id.rv_msg_remind 标红,然后鼠标附上去,显示attribute value must be contant.如下:
@BindView(R.id.rv_msg_remind)
然后接触android studio 有一段时间了,给出的信息并一定准确。给出的答案是属性值必须是不变的。
但是android R.id.xxx本来就是const的,这显然矛盾了,但是事情可以肯定的是是没有拿到R.id.xxx的值报错了。
这时候一个前提,我先写好了子项目,然后合并项目出的错误,我把配置拷贝了过来。
再三确定配置没有出错的情况下,我开始怀疑:
配置冲突无疑是非常头痛的问题,你不知道到底有多少验证在等着你。
但是我转念一想,配置冲突的可能性几乎微乎其微,而且同步报错的可能性极大,当然也有极小的可能性不报错,这取决于是否按照规范开发jar包,那么这种情况是最坏的打算,并且几乎不可能,暂不考虑。
然后我去google了一波官网,发现配置app moudule 与lib moudule真的不同。
图中我标红了关键点,这是出错需要修改的。
R2是用来干什么的呢?
没错就是来获取id的。
如果需要增加一个子项目,然后不希望build的时候花费太多的事件,那么可以放在一个new project中。
但是必须要保持配置一致,比如说作为lib module,在new project中,也应该是lib module。最好是把正式开发app module中的配置,放在new project中,代码就不必拷贝。
这样能减少合并出错的可能。
Butterknife Attribute value must be constant
原文:https://www.cnblogs.com/aoximin/p/12058800.html