butterknife 8.5.1配置使用
来源:互联网 发布:debian与centos 编辑:程序博客网 时间:2024/06/05 02:29
butterknife github地址
1、在整个项目 build.gradle
文件下做如下配置
buildscript { repositories { mavenCentral() } dependencies { classpath 'com.jakewharton:butterknife-gradle-plugin:8.5.1' }}
2、在当前module build.gradle
文件下做如下配置
apply plugin: 'com.jakewharton.butterknife'dependencies { compile 'com.jakewharton:butterknife:8.5.1' annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'}
3、使用示例
public class TestView extends AppCompatActivity { @BindView(R.id.test_txt) TextView testTxt; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); testTxt.setText("ButterKnife"); }}
4、使用butterknife插件,快速生成,AndroidStudio Setting -> Plugins -> 搜索Android ButterKnife Zelezny
然后重启Studio生效。
插件使用方式:光标移动到布局文件的位置,例如:setContentView(R.layout.activity_main);
,鼠标放到activity_main
上,快键键Alt + Insert
,选择Generate ButterKnife Injections
5、在Library内部使用视图注入
正确配置gradle之后,依然报错 Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
,ButterKnife应该在使用的module进行gradle配置,不能在依赖的library间接的使用
library 项目中使用butterknife时,R.id.tv,底下会有红线,提示“元素值必须为常量表达式”
原因:在一般的Android项目中,R类的常量都是用final定义的,但ADT 14之后,如果在library 项目中,它会没有final关键字,在这里要用R2替换R即可,为R2.id.tv
在 library 项目中,有多个onclick点击事件,不能使用case R.id.iv_back,与上面报一样的错误,原因也同上。在switch语句的case中,如果使用 R.id.xxx 则会提示有问题,不允许非常量在case语句中。AndroidStudio中,在switch上面按下Alt+Enter键有将Switch转换成if-else的选项。
本意在公共的library进行butterknife的gradle配置,然后程序入口的module依赖这个公共的library,从来达到不用每个module重复依赖的效果,可是失败,总是报空,必须各自依赖
记录完毕
- butterknife 8.5.1配置使用
- ButterKnife 8.5.1 依赖配置
- androidstudio Butterknife-7.0.1的配置使用
- butterknife的配置,使用。
- ButterKnife 配置及使用
- Android ButterKnife配置使用
- ButterKnife配置与使用
- ButterKnife注解使用配置
- butterknife配置以及使用
- 使用annotationProcessor配置Butterknife
- Android ButterKnife 8.5.1使用
- ButterKnife 8.5.1使用教程
- 使用butterknife注解工程配置
- Android Studio butterknife配置使用
- ButterKnife的配置使用详解
- 使用ButterKnife时的配置
- 【Android】Butterknife 8.5.1使用-全面总结
- Android Butterknife 8.5.1 最新使用详解
- This fragment should provide a default constructor (a public constructor with no arguments
- 平面上的点和线——Point类、Line类 (VII)
- eclipse中java链接mysql步骤
- Web模板引擎——Mustache
- 解决Jenkins获取Git Commit乱码
- butterknife 8.5.1配置使用
- Mysql保存字符串(回车符)
- jQuery EasyUI详解-EasyUI布局和标签页
- 浅谈core dump
- C++关键点总结系列-1
- matlab目录操作及日期函数 matlab20170314
- Angular.js 的一些学习资源
- 技术管理-概要设计评审指南
- 数据存储