ButterKnife已经成为众多开发者的选择。简直不要太好用。
其优势
- 1、强大的Resource绑定和Method事件处理功能,简化代码,提升开发效率
- 2、方便的处理Adapter里的ViewHolder绑定问题
- 3、运行时不会影响APP效率,使用配置方便
- 4、代码清晰,可读性强
截止 2019年9月6日。ButterKnife Version 10.1.0 (2019-02-13),已经有很多的支持了。
为什么有R2.java
原因
Library Module必须转换成final类型才能使用ButterKnife。
不是常量会提示attribute value must be constant
描述
ButterKnife是通过注解 简化编码工作。
Module | 是否生成final的ID |
---|---|
App Module | 是 |
Library Module | 否 |
具体的路径:
App Module:
app/build/generated/source/r/env1/debug/包路径/R.java 这里env1/debug是编译环境
public final class R {
public static final class anim {
public static final int a3 = 0x7f050000;
public static final int a5 = 0x7f050001;
.....
}
......
}
Library Module:
module_name/build/generated/source/r/deb