在Activity与Fragment中分别如何使用ButterKnife

转载请注明出处http://blog.csdn.net/u012532631/article/details/77196426
今天学习了一下使用ButterKnife,使用场景分别为Activity和Fragment

添加项目依赖
dependencies {
    compile 'com.jakewharton:butterknife:8.8.1'
    annotationProcessor 'com.jakewharton:butterknifecompiler:8.8.1'
}

在Activity中

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this);
    }

在Fragment中

private Unbinder unbinder;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View view = setFragmentLayoutInFlater(inflater,container);
    //返回一个Unbinder值(进行解绑),注意这里的this不能使用getActivity()
    unbinder = ButterKnife.bind(this, view);
    return view;
}
@Override
public void onDestroyView() {
    if (unbinder != null) {
        unbinder.unbind();
    }
    super.onDestroyView();
}

请注意这里一定要提前判断unbinder 是否为空,因为若是在异步回调的时候页面可能已经销毁,此时调用unbind()可能引发空指针异常!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值