您当前的位置: 首页 >  ui

梁同学与Android

暂无认证

  • 3浏览

    0关注

    603博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

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

梁同学与Android 发布时间:2021-11-30 17:06:05 ,浏览量:3

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

  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 result = new Result();
                                        Type type1 = new TypeToken() {}.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 result = new Result();
                                        Type type1 = new TypeToken() {}.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();
                    }
                }
            }
        });

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

关注
打赏
1656853971
查看更多评论
立即登录/注册

微信扫码登录

0.0508s