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

