ButterKnife的使用以及不能自动生成代码问题的解决

Posted 依凡王子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ButterKnife的使用以及不能自动生成代码问题的解决相关的知识,希望对你有一定的参考价值。

ButterKnife的使用以及不能自动生成代码问题的解决

转载请注明出处:http://www.cnblogs.com/zhengjunfei/p/5910497.html

最近换了个工作刚入职,又赔了配环境(linux),并且根据老大的要求看了一些相关的知识点,其中在用到有个工具的时候与到了一些奇葩的问题,就是ButterKnife的不能自动生成代码的问题,查了好多资料和博客才查到,现在总结一下,以备同为码农的程序员不时之需.

 

大家知道在我们android编程的时候,经常会遇到findViewById的问题,尤其是当你的布局中的view较多的时候,initView是一个很耗时的过程,针对这一问题,ButterKnife可以完美解决,大大提高编程的效率,废话不多说,先上个图看一下效果吧:

怎么样,效果很炫吧?超方便的一个开源插件,下面我来介绍一下在项目中的配置过程:

方法一:在gradel里面直接搜

打开Android Studio的File->Project Structure

点击左边菜单栏的app选项,并且点击右边上方的Dependencies这个Tab选项,然后点击右上角"加号"选择"1 Library dependency",然后在弹出框中直接搜butterknife,就可以搜到,然后选择引入:

引入之后会在项目的build.grade文件下的dependencies下生成:compile \'com.jakewharton:butterknife:8.4.0\'(位置1)这样一行代码,接下来你需要同样在dependencies 下面加入这样一行代码:apt \'com.jakewharton:butterknife-compiler:8.4.0\' (位置2)   并在该文件根目录最上面加入这样一行代码:apply plugin: \'com.neenbedankt.android-apt\'(位置3),并同时在整个Project的build.grade文件的buildscript的dependencies下面加入这样一行代码:classpath \'com.neenbedankt.gradle.plugins:android-apt:1.8\'(位置4),然后点击编译器右上角的Sync Now同步修改:

项目的build.grade文件:

整个Project的的build.grade文件:

Sync Now:

然后最关键的一步:打开File->Settings->plugins,在搜索栏内搜索ButterKnife,要是没有引入该软件,就install,将这个软件打钩选中使用:(没有这一步不能自动生成代码)

然后是最后一步,在使用前在onCreate方法中(一定要在setContentVIew之后)调用ButterKnife.bind(this);然后就可以自动生成代码了,生成方式:选中布局文件的名字,右击选择Generate->Generate BUtterknife injecktions,会弹出来下面这个对话框:

然后在Variable Na....一栏修改默认的一些对象的一些名字,点击OK,就生成了相应的代码了.

最后看一下最终效果:

希望可以帮到大家.

 


 
    欢迎关注我的简书博客,地址是:
 
     http://www.jianshu.com/u/da06e00edefa
 
    欢迎大家关注我的微信公众号,我会定期发布一些博客,分享一些知识点。
     
 

以上是关于ButterKnife的使用以及不能自动生成代码问题的解决的主要内容,如果未能解决你的问题,请参考以下文章

Android注解利器:ButterKnife 的基本使用

Android Butterknife 8.4.0 使用方法总结

butterknife及其背后的代码生成技术

[Android] ButterKnife 浅析

[Android] ButterKnife 浅析

ButterKnife编译时生成代码原理:butterknife-compiler源码分析