butterknife总结(一)

来源:互联网 发布:小学考试软件下载 编辑:程序博客网 时间:2024/06/16 18:07

这里写图片描述

还是很喜欢butterknife的。
它使用简单的绑定方式,帮助coder减少代码开发量,格式简洁易懂,使用极~其~方~便~。

本文将简单介绍如何使用bufferknife。
那么,如何使用butterknife呢?以android studio为例。

首先,需要在项目中添加Library Dependency:
(1)’com.jakewharton:butterknife:8.8.1’
(2)’com.jakewharton:butterknife-compiler:8.8.1’

*注:最新版本为8.8.1。若不添加’com.jakewharton:butterknife-compiler:8.8.1’,编译不会出错,但绑定不成功。
原因在于该包会对工程进行二次编译,将butterknife的语法,再次转换为findViewbyID等android SDK原有接口。*

其次,在需要使用butterknife的对象中调用ButterKnife.bind()方法(该步骤很重要,若缺少该步骤,编译可以通过,但绑定失败,无任何关联相应。),进行“初始化”。分两种情况。
(1)若为activity,则需要在onCreate()方法中进行初始化

@Override public void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.simple_activity);    ButterKnife.bind(this);    // TODO Use fields...}

(2)若为其他View,则需要在onCreateView()方法中进行初始化

@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {    View view = inflater.inflate(R.layout.fancy_fragment, container, false);    ButterKnife.bind(this, view);    // TODO Use fields...    return view;}

“初始化”必须在setContentView();之后,且父类bind绑定后,子类不需要再bind。

需要特殊注意继承于Fragment的View。butterknife文档中强调,要求在View的onDestroy()方法中,进行解绑操作。

public class FancyFragment extends Fragment {    @BindView(R.id.button1) Button button1;    @BindView(R.id.button2) Button button2;    private Unbinder unbinder;    @Override     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {        View view = inflater.inflate(R.layout.fancy_fragment, container, false);        unbinder = ButterKnife.bind(this, view);        // TODO Use fields...        return view;    }    @Override    public void onDestroyView() {        super.onDestroyView();        unbinder.unbind();    }}

依照以上步骤,bufferknife已可以正常使用。
此后,将继续总结bufferknife的功能。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 电子琴伴奏区无旋律音怎么办 手机触摸屏摔坏了怎么办 手机充着电玩游戏卡怎么办? 4个月宝宝拉肚子怎么办 6个月宝宝上火怎么办 1月婴儿大便干燥怎么办 椰子鞋350线开了怎么办 打完篮球小腿肌肉酸痛怎么办 衣服穿少了感冒怎么办 侧手翻翻不过去怎么办 生完孩子胯宽了怎么办 小孩户口性质弄错了怎么办 4岁宝宝咳嗽很厉害怎么办 宝宝深夜咳嗽很厉害怎么办 2岁宝宝发热37.6怎么办 篮球气嘴慢跑气怎么办 4个月宝宝偏胖怎么办 4个月婴儿偏胖怎么办 6岁儿童偏胖怎么办 打篮球撞到头颈椎痛怎么办 血燥热引起的皮肤瘙痒怎么办 坐时间久了屁股疼怎么办 屁股坐久了疼怎么办 屁股坐久了痛怎么办 坐多了屁股痛怎么办 上班坐的屁股痛怎么办 膝关节手术后康复膝盖疼怎么办 上下楼膝关节疼膝盖疼怎么办 跑步后关节疼该怎么办 后滚翻翻不过去怎么办 走太多路小腿疼怎么办 踢毽子以后期盖右腿内彻疼怎么办 大学体育选修课挂了怎么办 当天贴的砖踩了怎么办 刚贴的瓷砖踩了怎么办 长胶底板太轻怎么办 乒乓球拍胶皮不粘了怎么办 乒乓球拍子胶片太滑怎么办 新买的包黏黏的怎么办 卫星锅收不到台怎么办 养殖厂被卫星拍住怎么办