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,就生成了相应的代码了.
最后看一下最终效果:
希望可以帮到大家.