Butter Knife是一个Android的注解框架,可以帮助用户快速完成视图、资源与对象的绑定,完成事件的监听。(也就是少写findViewById())
具体的介绍可以参考官方主页:
http://jakewharton.github.io/butterknife/
Github:
https://github.com/JakeWharton/butterknife
Android Studio有个Android ButterKnife Zelezny插件,可以更进一步少些代码。
首先安装插件:
在Gradle配置中,引入依赖:
implementation'com.jakewharton:butterknife:8.8.1' annotationProcessor'com.jakewharton:butterknife-compiler:8.8.1' |
PS:写文章时,最新版是9.0.0-rc2,使用Android API 28开发,在Android 8上运行,奔溃。测试后8.8.1版本可以正常运行。
正常编辑Layout界面。在代码界面,讲光标定位在Layout资源处,使用快捷键Alt + Insert:
选择"Generate Butterknife Injections"选项:
选项都很容易理解,选择要绑定控件,并设置是否设置点击事件,同时可以设置变量名。设置结束后,点击确定,自动生成代码:
"Split OnClick methods"选项,可以为每个控件的点击事件,都设置独立的方法:
勾选"Create ViewHolder"的效果如下:
通常用于ListView等控件的Adapter类。
熟悉Butter knife后可能会经常用到,可以讲依赖设置成自动完成模板,注意末尾设置为应用于Groovy:
在设置里,可以知道Butter Knife生成方法名的前缀及ViewHolder的默认类名: