说一说BufferKnife——View注入框架

来源:互联网 发布:apache beam入门 编辑:程序博客网 时间:2024/06/08 16:26

前段时间看源码,其中没有findViewById,上面看了一下,用的@InJectView(他用的版本比较老,现在是@BindView),之前只是感觉今年好多框架升级后使用方法之类的都变了,而百度到的资料还是很老的,有个大牛说,别用百度了,用Google吧,我深以为然。

转到正题,说一下BufferKnife以及它的相关插件(以下用的是android studio,如果你没有,也假设你有)



目前的最新版是8.4.0

1、gradle配置

compile 'com.jakewharton:butterknife:8.4.0'

2、初始化

    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        ButterKnife.bind(this);    }
3、绑定View

    @BindView(R.id.editText)    EditText editText;    @BindView(R.id.button1)    Button button1;    @BindView(R.id.button2)    Button button2;    @BindView(R.id.textView)    TextView textView;    @BindView(R.id.iv)    ImageView iv;

4、多View绑定

    @BindViews({R.id.button1,R.id.button2})    List<View> buttons;

5、点击事件

onClick的名字是自己起的,返回值也可以改变,参数可有可无,也可以只有一个View

    @OnClick({R.id.button1, R.id.button2})    public void onClick(View view) {        switch (view.getId()) {            case R.id.button1:                break;            case R.id.button2:                break;        }    }


6、相关插件

下面说个插件,和他绑定之后,可以偷懒很多

ButterKnife Zelezny,就是它

setting-Plugins-输入他的名字搜索-安装-重启studio

然后使用的时候有很多人不知道咋用,我说一下

光标放到layout上,然后Generate - Alt+Insert - Generate BufferKnife Injections



好了大功告成

1 0
原创粉丝点击