Android注解ButterKnife的基本使用
ButterKnife的最新版本是8.4.0。
首先,需要導(dǎo)入ButterKnife的jar包。
在AndroidStudio中,File->Project Structure->Dependencies->Library dependency 搜索butterknife即可,第一個(gè)就是.
另外一種就是直接在build:grade(app)dependencies里添加:
compile 'com.jakewharton:butterknife:8.4.0' annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'
ok,現(xiàn)在正式開始使用吧,用法也很簡單
在Activity子類的onCreate()方法里使用ButterKnife.bind(this);即可
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
tv1.setText("hi!sy")
注意:一定要在setContentView之后寫。
再然后,把光標(biāo)放在R.layout.activity_main上,鼠標(biāo)右擊,選中Generate...(Alt+Insert),點(diǎn)擊會(huì)出現(xiàn):

然后這樣

選中的有TextView點(diǎn)擊事件和findViewById的注解,點(diǎn)擊Confirm就成功了!
什么,你說沒有,別著急,你需要安裝一個(gè)小插件(不要嫌麻煩,其實(shí)很簡單,一勞永逸)
在AndroidStudio->File->Settings->Plugins->搜索Zelezny下載添加就行 ,可以快速生成對應(yīng)組件的實(shí)例對象,不用手動(dòng)寫。
使用時(shí),在要導(dǎo)入注解的Activity 或 Fragment 或 ViewHolder的layout資源代碼上,右鍵——>Generate——Generate ButterKnife Injections。
源碼
public class MainActivity extends Activity {
@BindView(R.id.tv_time)
TextView tvTime;
@BindView(R.id.activity_main)
RelativeLayout activityMain;
@BindView(R.id.tv_cal)
TextView tvCal;
@BindView(R.id.tv_date)
TextView tvDate;
Time time;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
tvTime.setText("Time類");
tvCal.setText("Calender類");
tvDate.setText("Date類");
initTime();
}
private void initTime() {
time = new Time();
time.setToNow();
}
@OnClick({R.id.tv_cal, R.id.tv_date,R.id.tv_time})
public void onClick(View view) {
switch (view.getId()) {
case R.id.tv_time://點(diǎn)擊第一個(gè)
String times = time.year + "年" + time.month + "月" + time.monthDay
+ "日" + time.hour + "時(shí)" + time.minute + "分" + time.second + "秒"
+ ":現(xiàn)在是一年中的第" + time.yearDay + "天";
Toast.makeText(this, Time.getCurrentTimezone() + times, Toast.LENGTH_SHORT).show();
tvTime.setText(times);
break;
case R.id.tv_cal:
break;
case R.id.tv_date:
break;
}
}
@Override
protected void onDestroy() {
super.onDestroy();
// Unbinder unbinder=ButterKnife.bind(this);
// unbinder.unbind();
ButterKnife.bind(this).unbind();
}
}
以上所述是小編給大家介紹的Android注解ButterKnife的基本使用,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- Android用注解與反射實(shí)現(xiàn)Butterknife功能
- Android中butterknife的使用與自動(dòng)化查找組件插件詳解
- 詳解Android Studio安裝ButterKnife插件(手動(dòng)安裝)
- Android Studio使用ButterKnife和Zelezny的方法
- Android Kotlin環(huán)境使用ButterKnife的方法
- Android Studio中ButterKnife插件的安裝與使用詳解
- 解決Android Studio 3.0 butterknife:7.0.1配置的問題
- Android注解使用之ButterKnife 8.0詳解
- Android?ButterKnife依賴注入框架使用教程
相關(guān)文章
Android中判斷手機(jī)是否聯(lián)網(wǎng)實(shí)例
這篇文章主要介紹了Android中判斷手機(jī)是否聯(lián)網(wǎng)實(shí)例,包括xml配置文件及功能代碼的實(shí)現(xiàn),需要的朋友可以參考下2014-10-10
Android Activity Results API代替onActivityResul
說到onActivityResult,我們已經(jīng)非常熟悉來,通過在A activity啟動(dòng)B activity并且傳入數(shù)據(jù)到B中,然后在A中通過onActivityResult來接收B中返回的數(shù)據(jù)。在最新的activity-ktx的beta版本中,谷歌已經(jīng)廢棄了onActivityResult2022-09-09
Android實(shí)現(xiàn)知乎選項(xiàng)卡動(dòng)態(tài)隱藏效果實(shí)例
選項(xiàng)卡相信對大家來說應(yīng)該不陌生,最近發(fā)現(xiàn)知乎選項(xiàng)卡的動(dòng)態(tài)隱藏效果不錯(cuò),下面這篇文章主要給大家介紹了關(guān)于Android實(shí)現(xiàn)知乎選項(xiàng)卡動(dòng)態(tài)隱藏效果的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-02-02
android 實(shí)現(xiàn)在照片上繪制涂鴉的方法
今天小編就為大家分享一篇android 實(shí)現(xiàn)在照片上繪制涂鴉的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10
判斷Android程序是否在前臺(tái)運(yùn)行的兩種方法
這篇文章主要介紹了判斷Android程序是否在前臺(tái)運(yùn)行的兩種方法,本文直接給出實(shí)現(xiàn)代碼,,需要的朋友可以參考下2015-06-06
android隱式意圖激活瀏覽器的實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄猘ndroid隱式意圖激活瀏覽器的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06
Android開發(fā)中避免應(yīng)用無響應(yīng)的方法(Application Not Responding、ANR)
這篇文章主要介紹了Android開發(fā)中避免應(yīng)用無響應(yīng)的方法,即避免彈出Application Not Responding(ANR)對話框,需要的朋友可以參考下2014-06-06

