Android butterknife注入完毕后不起作用

Android studio上安装最新版'com.jakewharton:butterknife-compiler:8.8.0',并且成功给layout注入控件后不起作用,onclick事件无反应。配置如下

app/builder.gradle:

compile 'com.jakewharton:butterknife:8.8.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.0'
另外配置butterknife也很坑,除了在File->Setting->Plugins中搜索butterknife安装,还需要在File->Project Structure->app->Dependencies->右上角+号->Library Dependency搜索添加com.jakewharton:butterknife-compiler才可以,其他方法很多都有问题。

依赖注入的代码:

 @BindView(R.id.iv_user_head)
    public ImageView ivUserHead;
    @BindView(R.id.rl_celebrity)
    public RelativeLayout rlCelebrity;
    @BindView(R.id.rl_search_face)
    RelativeLayout rlSearchFace;
    @BindView(R.id.rl_my_selfie)
    RelativeLayout rlMySelfie;
    @BindView(R.id.rl_address)
    RelativeLayout rlAddress;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View myView = inflater.inflate(R.layout.fragment_my, container, false);
        unbinder = ButterKnife.bind(this, myView);
        return myView;
    }
    @OnClick({R.id.iv_user_head, R.id.rl_celebrity, R.id.rl_search_face, R.id.rl_my_selfie, R.id.rl_address})
    public void onViewClicked(View view) {
        switch (view.getId()) {
            case R.id.iv_user_head:
                showToast(getActivity(),"我的");
                break;
            case R.id.rl_celebrity:
                ActivityHelper.jumpNoFinish(getActivity(), MyCeleListActivity.class);
                break;
            case R.id.rl_search_face:
                showToast(getActivity(),"图塔");
                break;
            case R.id.rl_my_selfie:
                showToast(getActivity(),"自评");
                break;
            case R.id.rl_address:
                 break;
}}

onClick事件无反应。

搜了很多原因。buil.gradle中改Butterknife的配置,到Butterknife的官网按照官网的说明文档去配置,也不行。

后来改了butterknife的版本号,改成比较老的版本,如8.4.0,onclick事件起了作用。看来是最新版本的问题。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值