Android --- BaseQuickAdapter 子控件设置了addOnClickListener(R.id.xxx);点击的时候还是没反应

正常情况下 对控件进行以下操作

  helper.addOnClickListener(R.id.rl_feedback);

然后再对控件设置监听事件

  // 点击事件
        myFeedBackAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
            @Override
            public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
                if(view.getId() == R.id.rl_feedback) {
                    Bundle bundle = new Bundle();
                    bundle.putString("images",dataList.get(position).get("images").toString());
                    bundle.putString("opinionContent",dataList.get(position).get("opinionContent").toString());
                    bundle.putString("tel",dataList.get(position).get("tel").toString());
                    bundle.putString("time",dataList.get(position).get("time").toString());
                    bundle.putString("status",dataList.get(position).get("status").toString());
                    IntentUtils.getInstence().intent(MyFeedBackActivity.this,FeedBackInfoActivity.class,bundle);
                }
            }
        });

是有效果的

我的情况是这样的,在一个 item 中我设置了两个控件有点击监听,其中一个好用,一个不好用,我的错误代码如下:

 // 点击事件
        myFeedBackAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
            @Override
            public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
                if(view.getId() == R.id.rl_feedback) {
                    System.out.println("----1221312312");
                    Bundle bundle = new Bundle();
                    bundle.putString("images",dataList.get(position).get("images").toString());
                    bundle.putString("opinionContent",dataList.get(position).get("opinionContent").toString());
                    bundle.putString("tel",dataList.get(position).get("tel").toString());
                    bundle.putString("time",dataList.get(position).get("time").toString());
                    bundle.putString("status",dataList.get(position).get("status").toString());
                    IntentUtils.getInstence().intent(MyFeedBackActivity.this,FeedBackInfoActivity.class,bundle);
                }
            }
        });

        myFeedBackAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
            @Override
            public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
                if(view.getId() == R.id.btn_scan) {
                    if(dataList.get(position).get("status").equals("2.0")) {}else {
                        // 修改状态并刷新
                        RestClient.builder()
                                .params("opinionId",dataList.get(position).get("opinionId"))
                                .url(IpConfig.APP_ID+"/feedBackApp/editStatus")
                                .success(new ISuccess() {
                                    @Override
                                    public void onSuccess(String response) {
                                        Result<FeedBack> result = new Result<>();
                                        Type type1 = new TypeToken<Result<FeedBack>>() {}.getType();
                                        result = new Gson().fromJson(response, type1);
                                        Log.i("请求数据:",result.toString());

                                        if(result.getStatus().equals("200")) {
                                            initData();
                                            ToastUtils.showShort(getApplication(),"已查看");
                                        }else {
                                            ToastUtils.showShort(getApplication(),"错误!");
                                        }
                                    }
                                })
                                .failure(new IFailure() {
                                    @Override
                                    public void onFailure() {

                                    }
                                }).build().post();
                    }
                }
            }
        });

正确代码如下:

myFeedBackAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
            @Override
            public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
                if(view.getId() == R.id.rl_feedback) {
                    System.out.println("----1221312312");
                    Bundle bundle = new Bundle();
                    bundle.putString("images",dataList.get(position).get("images").toString());
                    bundle.putString("opinionContent",dataList.get(position).get("opinionContent").toString());
                    bundle.putString("tel",dataList.get(position).get("tel").toString());
                    bundle.putString("time",dataList.get(position).get("time").toString());
                    bundle.putString("status",dataList.get(position).get("status").toString());
                    IntentUtils.getInstence().intent(MyFeedBackActivity.this,FeedBackInfoActivity.class,bundle);
                }
                if(view.getId() == R.id.btn_scan) {
                    if(dataList.get(position).get("status").equals("2.0")) {}else {
                        // 修改状态并刷新
                        RestClient.builder()
                                .params("opinionId",dataList.get(position).get("opinionId"))
                                .url(IpConfig.APP_ID+"/feedBackApp/editStatus")
                                .success(new ISuccess() {
                                    @Override
                                    public void onSuccess(String response) {
                                        Result<FeedBack> result = new Result<>();
                                        Type type1 = new TypeToken<Result<FeedBack>>() {}.getType();
                                        result = new Gson().fromJson(response, type1);
                                        Log.i("请求数据:",result.toString());

                                        if(result.getStatus().equals("200")) {
                                            initData();
                                            ToastUtils.showShort(getApplication(),"已查看");
                                        }else {
                                            ToastUtils.showShort(getApplication(),"错误!");
                                        }
                                    }
                                })
                                .failure(new IFailure() {
                                    @Override
                                    public void onFailure() {

                                    }
                                }).build().post();
                    }
                }
            }
        });

应该把两个监听放到一起,我傻了,给分开了!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梁同学与Android

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值