1. 程式人生 > >#android 拾遺07--使用butterknife繫結控制元件

#android 拾遺07--使用butterknife繫結控制元件

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