ButterKnife:8.1.0的使用

作者: 咸鱼而已 | 来源:发表于2016-06-15 18:31 被阅读22577次

最近使用的新版的ButterKnife,跟之前有点不一样的地方。记录一下!

  • 导入依赖项:Project Structure→app→Dependencies→add→Library Dependence然后搜索ButterKnife导入对应的依赖。
  • 需要添加的一些插件
  1. Project的build.gradle文件中增加classpath内容:
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.0.0'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' //增加这一句
    }
}
allprojects {
    repositories {
        jcenter()
    }
}
task clean(type: Delete) {
    delete rootProject.buildDir
}
  1. app的build.gradle文件中增加classpath内容:
apply plugin: 'com.neenbedankt.android-apt'//增加这一句
dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.jakewharton:butterknife:8.1.0'
    apt 'com.jakewharton:butterknife-compiler:8.1.0'//增加这一句
}
  • 代码中的使用,具体就是之前的inject变成了现在的bind,其他变化不大:
public class MainActivity extends AppCompatActivity {

    @BindView(R.id.btn_qq) Button qqBtn;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ButterKnife.bind(this);
    }
    @OnClick(R.id.btn_qq) void qqBtnClick(){
        Log.d("zwf", "1111111111111111111");
    }
}

相关文章

网友评论

  • 努力的橘子:为什么要这样呢~~求解释~~~
  • 小7:刚好遇到了一个问题就是新版的Butterknife跟我用的PermissionDispatcher一起用的时候Butterknife不起作用的问题。看了你的文章后秒解决了,谢谢了
  • e2efaa61d8ac:你妹啊,崩溃,以后都不想用了
    灼眼行者:对,重复的话就无法找到的
    9896f642d16d:@羽战 8.X以上控件名不能重复吗?
    灼眼行者:@e2efaa61d8ac 可能是你的控件命名重复了 :no_mouth:
  • 虚无void:ButterKnife的作者在升级的时候有点坑,很喜欢把方法名改掉。7.0叫@bind(),8.0叫@BindView(),没法换了。。。。。好像更早的版本叫inject()...
  • 7ce0496aa138:想问下,这个版本的 不需要我们unbind吗?
    虚无void:@7ce0496aa138 Fragment多了一个Unbinder 类,用来unbind
  • 张金富呵呵:有个地方一直没讲清楚
    是在apply plugin: 'com.android.application'的下面加上
    apply plugin: 'android-apt'

本文标题:ButterKnife:8.1.0的使用

本文链接:https://www.haomeiwen.com/subject/wldpdttx.html