https://github.com/JakeWharton/butterknife

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

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

<span class=“hljs-annotation”>@BindView</span>(<span class=“hljs-type”>R</span>.id.btn_qq) <span class=“hljs-type”>Button</span> qqBtn; <span class=“hljs-annotation”>@Override</span> <span class=“hljs-keyword”>protected</span> void onCreate(<span class=“hljs-type”>Bundle</span> savedInstanceState) { <span class=“hljs-keyword”>super</span>.onCreate(savedInstanceState); setContentView(<span class=“hljs-type”>R</span>.layout.activity_main);

  &lt;span class="hljs-type">ButterKnife&lt;/span>.bind(&lt;span class="hljs-keyword">this&lt;/span>);

} <span class=“hljs-annotation”>@OnClick</span>(<span class=“hljs-type”>R</span>.id.btn_qq) void qqBtnClick(){ <span class=“hljs-type”>Log</span>.d(<span class=“hljs-string”>“zwf”</span>, <span class=“hljs-string”>“1111111111111111111”</span>); } }`


&nbsp;

<div>
  原文链接:http://www.jianshu.com/p/0392199a682b
</div>