ButterKnife 8.6.0 使用

来源:互联网 发布:功夫时时彩软件 编辑:程序博客网 时间:2024/06/14 03:57

ButterKnife 8.6.0 使用

一、ButterKnife在project中的使用

1、在项目的project中的build.gradle文件中的dependencies标签下添加:

buildscript {    repositories {        jcenter()    }    dependencies {        classpath 'com.android.tools.build:gradle:2.3.2'        classpath 'com.jakewharton:butterknife-gradle-plugin:8.6.0'    }}

2、在modle的build.gradle文件中的dependencies标签中添加(导入库的依赖):

dependencies {    compile 'com.jakewharton:butterknife:8.6.0'    annotationProcessor 'com.jakewharton:butterknife-compiler:8.6.0'}

3、装插件 android-butterknife-zelezny

二、ButterKnife在library中的使用

1、官方指南及遇到的问题
To use Butter Knife in a library, add the plugin to your buildscript:

buildscript {    repositories {      mavenCentral()     }    dependencies {      classpath 'com.jakewharton:butterknife-gradle-plugin:8.6.0'    }  }

and then apply it in your module:

apply plugin: 'com.android.library'  apply plugin: 'com.jakewharton.butterknife'  dependencies {    compile 'com.jakewharton:butterknife:8.6.0'    annotationProcessor 'com.jakewharton:butterknife-compiler:8.6.0'  }

但是按照这个步骤操作后并没有效果,用@BindView的地方提示NullPointerException,用@onClick的标注的点击事件,点击后也没有反应
2、 最终解决方案
最后发现,只需修改一下上述步骤1和2就可以了。
步骤1加上依赖注入的plugin:

buildscript {      repositories {          jcenter()          mavenCentral()      }      dependencies {          classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' // 添加的部分          classpath 'com.jakewharton:butterknife-gradle-plugin:8.6.0'      }  }

然后步骤2也修改一下:

apply plugin: 'com.android.library'  apply plugin: 'com.jakewharton.butterknife'  apply plugin: 'android-apt'  dependencies {    compile 'com.jakewharton:butterknife:8.6.0'    apt 'com.jakewharton:butterknife-compiler:8.6.0' // 修改的地方 把annotationProcessor改为apt  }

之后就正常了

原创粉丝点击