ButterKnife的使用

ButterKnife能夠幫助你進行字段和方法的綁定,使用註解來android中控件的查找和方法的綁定。
java

ButterKnife如今的版本是7.0.1.下載地址:http://jakewharton.github.io/butterknife/  下載jar包。android

在androidstudio中的使用,直接將jar包導入到libs文件夾裏,而後直接設置工程屬性添加這個包就好了。git

使用方法:github

在Activity裏
iview

@Bind(R.id.change)
Button change;
@Bind(R.id.next)
Button next;

變量使用@Bind來綁定,變量不能夠爲private類型。函數

在onCreate裏面調用
this

ButterKnife.bind(this);

在onDestroy裏面調用spa

ButterKnife.unbind(this);

若是是在Fragment裏面調用
指針

在onCreateView調用code

 view = inflater.inflate(R.layout.fancy_fragmentcontainer)ButterKnife.(view)

在onDestroyView裏面調用

ButterKnife.unbind(this);

官網的建議是

Fragments have a different view lifecycle than activities. When binding a fragment in onCreateView, set the views to null in onDestroyView.

片斷和Activity有着不一樣的生命週期,因此要在onDestroyView面調用unbind函數,這是一種建議並非必定要這麼作,你也能夠不實現onDestroyView這個函數。若是onCreateView裏面view是全局的或者你在其它地方調用了,那麼onDestroyView調用unbind函數,那麼就會出現空指針異常。

在Adapter裏面調用

ViewHolder {
    @Bind(R.id.title) TextView name;
    @Bind(R.id.job_title) TextView jobTitle;

    public ViewHolder(View view) {
      ButterKnife.bind(this, view);
    }
}

在geiview裏面初始化這個類就能夠了。

ButterKnife也能夠綁定函數和資源,這裏就給出一些實例

@OnClick(R.id.submit)
submit(View view) {
    }
@OnClick({R.id.door1R.id.door2R.id.door3})
pickDoor (DoorView door){
    (door.hasPrizeBehind()) {
        Toast.makeText(LENGTH_SHORT).show()} {
        Toast.makeText(LENGTH_SHORT).show()}
}
@OnItemSelected(R.id.list_view)
onItemSelected(position) {
    }
@BindString(R.string.title) String title
@BindDrawable(R.drawable.graphic) Drawable graphic
@BindColor(R.color.) red
@BindDimen(R.dimen.spacer) Float spacer

其餘的功能能夠自行發掘

相關文章
相關標籤/搜索