參考鏈接:Android Butterknife使用方法總結 - 簡書
ButterKnife主要用于快速的綁定控件和監(jiān)聽相應的事件震庭,避免原生傳統(tǒng)的綁定步驟的繁瑣橄杨,加快開發(fā)速度蒜胖,減少做無用工作,采用的了注解的方式疾嗅,ButterKnife用到的注解并不是在運行時反射的珠十,而是在編譯的時候生成新的class。
在組件當中以及adapter都可以應用荠诬,范圍很廣琅翻。
配置方式:
工程下
buildscript {?
?repositories {?
?jcenter()?
?}?
?dependencies {?
?classpath'com.android.tools.build:gradle:2.3.3'
classpath'com.jakewharton:butterknife-gradle-plugin:8.8.1'? ?//添加這一行
}}
app的build中添加:apply plugin:'com.jakewharton.butterknife'
dependencies中添加:
compile'com.jakewharton:butterknife:8.8.1'
annotationProcessor'com.jakewharton:butterknife-compiler:8.8.1'
使用細節(jié):
在Activity 類中綁定 :ButterKnife.bind(this);必須在setContentView();之后綁定;且父類bind綁定后浅妆,子類不需要再bind望迎。
在非Activity 類(eg:Fragment、ViewHold)中綁定: ButterKnife.bind(this凌外,view);這里的this不能替換成getActivity()辩尊。
在Activity中不需要做解綁操作,在Fragment 中必須在onDestroyView()中做解綁操作康辑。
在activity使用摄欲,綁定在Oncreate里使用mBinder=ButterKnife.bind(this),解綁在OnDestroy中使用mBinder.unbind()疮薇;
在fragment使用胸墙,綁定在onCreateView里使用unbinder = ButterKnife.bind(this, view),解綁在onDestroyView()中unbinder.unbind();
在adapter中使用按咒,在viewHolder中使用ButterKnife.bind(this, view);
可以綁定單個或多個控件迟隅,字符串,顏色励七,bitmap等智袭。
綁定單個控件:
@BindView( R2.id.button)
public Button button;
綁定多個控件:
@BindViews({ R2.id.button1, R2.id.button2, R2.id.button3})
public List buttonList;//之后可以采用list相同的操作完成相關功能掠抬,如:buttonList.get(0).setText("hello 1 ");
事件綁定:
綁定點擊事件:
綁定控件點擊事件:@OnClick( )
綁定控件長按事件:@OnLongClick( )
例如:@OnClick(R2.id.button1 )//給 button1 設置一個點擊事件?
? ? ? ? ? ?public void showToast(){}
自定義控件使用ButterKnife吼野,直接采用注解方式。
其他綁定參考:
更加快捷的途徑:ButterKnife的插件zelezny两波,在android studio 的plugins中直接搜索安裝即可瞳步。在setContentView右鍵Generate可以快速完成上述的綁定,插件自動生成腰奋。