Android Studio使用ButterKnife 8.0.1无效的问题

来源:互联网 发布:百度搜索引擎优化指南 编辑:程序博客网 时间:2024/06/08 19:09

最近做一个新项目,之前使用的ButterKnife 7.0.1,得知目前最新的ButterKnife支持ListView,还支持绑定资源,就想在新项目里使用最新的版本8.0.1,可是使用的时候遇到一个问题,那就是使用BindView注解根本绑定不到TextView或ImageView,也就是绑定到的对象都是null,导致程序异常奔溃。

弄了很久依旧,百思不得其解,最后没有办法,拿ButterKnife官方的例子工程(下载地址在这里https://github.com/JakeWharton/butterknife)和自己工程对比了一下,发现几个差异,把几个差异改动了一下,问题得到解决。
是哪几个地方差异呢?
这里列举一下:如果图片太小看不清楚,可以右键在新窗口或者新标签页中打开查看大图
首先我们新建一个As工程会有两个Build.gradle文件,一个是整个工程(我这里新建工程名为Beauty)的,一个是你的主Module的。如下图所示:
classpath ‘com.android.tools.build:gradle:2.1.0’
classpath ‘com.neenbedankt.gradle.plugins:android-apt:1.8’
这里写图片描述

1、整个工程的build.gradle文件差异,如下图所示,把右边我的工程设置成左边一致,右击buidl.gradle工程,点击Run ‘build’,等待下载完成。

这里写图片描述

2、主Module的build.gradle文件差异,如下图所示,
就是这一行:apply plugin: ‘com.neenbedankt.android-apt’
这里写图片描述

还有一行:apt ‘com.jakewharton:butterknife-compiler:8.0.1’
这里写图片描述

把以上三个配置都修改后,clean, run就都OK了。至于具体原因,还没有完全琢磨透!

2 1
原创粉丝点击