#android 拾遺07--使用butterknife繫結控制元件
阿新 • • 發佈:2018-11-19
butterknife的作用
在一般的開發過程中,是使用findVIewById來將佈局檔案裡面的控制元件加入Activity裡面的,這樣和使用butterknife相比需要多寫一些東西,接下來以為一個id為R.id.bt的按鍵繫結監聽事件為例,分別講述
使用findViewById():
Button bt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
bt=(Button)findViewById(R.id.bt);
bt.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
//點選事件
}
});
}
使用butterknife
需要指出的是,butterknife之前注入元件使用的是InjectView,我用的是7.0.1,裡面換成了Bind,實際上沒有發現差別:
首先要配置依賴,android studio支援Gradle依賴管理,在app目錄下面的build.gradle裡面加上一句話就行
dependencies {
compile fileTree(include: ['*.jar' ], dir: 'libs')
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.jakewharton:butterknife:7.0.1'
}
接下來匯入三個類
import butterknife.Bind;
import butterknife.OnClick;
import butterknife.ButterKnife;
寫程式碼:
@Bind(R.id.bt) Button bt;//這個就將按鈕匯入了,實際上只是繫結監聽器這個可以不要
@OnClick(R.id.bt)
void bt_click(View v)//名字可以隨便起,但是不能是private和static的
{
//點選事件
}
還有很多功能參加這兩位大神的文章
ButterKnife基本使用(這個很詳細但是比較老了,很多和最新的不一樣)
http://www.cnblogs.com/mengdd/archive/2015/06/23/4595973.html
eclipse 使用butterknife註解
http://blog.sina.com.cn/s/blog_5da93c8f0102wdrq.html
githup 上面的
https://github.com/JakeWharton/butterknife