butterknife框架听上去高大上,其实在真正使用的过程中是非常单一简单的一个注入框架。其目的其实很单一:简化View绑定和Click事件绑定的操作。
举个简单的例子,我们将布局视图中的一个Button按钮绑定在Button对象上,一般而言有如下操作:
Button button;
button = (Button)findViewById(R.id.button);
利用butterknife就可以简化代码:
@BindView(R.id.button)
Button button;
这样就省去了findViewById的代码;
用法一:绑定View控件
上面这个例子就是,以button为例,在activity类中申明:
@BindView(R.id.button)Button button;
并在OnCreate方法中申明:ButterKnife.bind(this);
(紧跟setContentView方法)
这样就实现了控件的绑定,当一个布局视图中控件非常多的时候,其高效性和直观性就得以体现。
补充:butterKnife绑定的控制不能是私有成员(private)和静态成员(static)和某些特殊包中的类成员
用法二:绑定Onclick事件
队友要绑定监听的控件,以button为例:
@Onclick(R.id.button)
public void doSomething(){
//这里是绑定控件要做的方法。
}
用法三:绑定fragment
未完,待续
2017.7.18更
参考文章:
深入理解ButterKnife机制