原文(建议跳转)
摘要
近两年ButterKnife注解框架越发流行起来了,从另外一角度来讲,大家对findViewById、setOnClickListener是不胜其烦了,不少开源项目都用到注解框架,用的比较广泛的有Dagger、ButterKnife、AndroidAnnotations,其中ButterKnife相对来说最容易上手
ButterKnife
https://github.com/JakeWharton/butterknife
想在项目中使用注解框架,我首先想到的就是添加库了,
预置的热门库可以看到ButterKnife,但是版本比较旧,选定ButterKnife点击搜索,可以看到最新版本为8.0.1
添加完毕,尝试着使用:
运行报错,提示空指针异常NullPointerException:
网上找了一下,发现还蛮多人遇到同样问题的,后来还是在stackoverflow网站上看到一些回答,乱七八糟的都有,后来在回到官方开源地址看了一下,官方说明下面有这么一段:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}
}
apply plugin: 'com.neenbedankt.android-apt'dependencies {
compile 'com.jakewharton:butterknife:8.0.1'
apt 'com.jakewharton:butterknife-compiler:8.0.1'
}
build.gradle文件更改了一下:
重新编译运行,成功运行了,可以看到刚才测试代码的一些效果:
值得提醒的是,8.0.1使用和之前的版本有不小的区别,需要好好看官方文说明才行,本次遇到的问题也是因为没看官方说明所致。