http://blog.csdn.net/itjianghuxiaoxiong/article/details/50177549
ButterKnife 優(yōu)勢:
1.強(qiáng)大的View綁定和Click事件處理功能逾滥,簡化代碼峰档,提升開發(fā)效率
2.方便的處理Adapter里的ViewHolder綁定問題
3.運(yùn)行時(shí)不會影響APP效率,使用配置方便
4.代碼清晰寨昙,可讀性強(qiáng)
官網(wǎng)http://jakewharton.github.io/butterknife/
使用步驟:
一.導(dǎo)入ButterKnife jar包:
1)如果你是Eclipse,可以去官網(wǎng)下載jar包
2)如果你是AndroidStudio可以直接 File->Project Structure->Dependencies->Library dependency 搜索butterknife即可讥巡,第一個(gè)就是
3)當(dāng)然也可以用maven和gradle配置
8.0之后版本需要配置apt
MAVEN
com.jakewharton
butterknife
(insert?latest?version)
GRADLE
compile?'com.jakewharton:butterknife:(insert?latest?version)'
Be?sure?to?suppress?this?lint?warning?in?your?build.gradle.(關(guān)閉)
lintOptions?{
disable?'InvalidPackage'
}
二.常見使用方法:
1)由于每次都要在Activity中的onCreate綁定Activity,所以個(gè)人建議寫一個(gè)BaseActivity完成綁定舔哪,子類繼承即可
注:ButterKnife.bind(this)欢顷;綁定Activity 必須在setContentView之后:
實(shí)現(xiàn)如下(FragmentActivity 實(shí)現(xiàn)一樣):
[java]view plaincopy
publicabstractclassBaseActivityextendsActivity?{
publicabstractintgetContentViewId();
@Override
protectedvoidonCreate(Bundle?savedInstanceState)?{
super.onCreate(savedInstanceState);
setContentView(getContentViewId());
ButterKnife.bind(this);
initAllMembersView(savedInstanceState);
}
protectedabstractvoidinitAllMembersView(Bundle?savedInstanceState);
@Override
protectedvoidonDestroy()?{
super.onDestroy();
ButterKnife.unbind(this);//解除綁定抬驴,官方文檔只對fragment做了解綁
}
}