监听adapter里两个按钮

1.RepairAdapter.java

public class RepairAdapter extends RecyclerView.Adapter<RepairAdapter.ViewHolder>  {
    private Context context;
    private List<RepairBean> mData;
    private  SeeAbnormalAdapter.OnItemClickListener onItemClickListener1;

    public RepairAdapter(List<RepairBean> data,Context context){
        this.mData = data;
        this.context = context;
    }

    public void setOnItemClickListener1(SeeAbnormalAdapter.OnItemClickListener listener) {
        this.onItemClickListener1 = listener;
    }


    public class ViewHolder extends RecyclerView.ViewHolder {
        @Bind(R.id.repair_item_click)
        LinearLayout repair_item_click;
        @Bind(R.id.item_repair_ll)
        LinearLayout item_repair_ll;
        @Bind(R.id.item_repair_machine_tv)
        TextView item_repair_machine_tv;
        @Bind(R.id.repair_situation_ll)
        LinearLayout repair_situation_ll;
        @Bind(R.id.item_repair_complete_ll)
        LinearLayout item_repair_complete_ll;

        public ViewHolder(View itemView) {
            super(itemView);
            ButterKnife.bind(this, itemView);
        }
    }

    @NonNull
    @Override
    public RepairAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(context).inflate(R.layout.item_adapter_repair, parent, false);
        RepairAdapter.ViewHolder viewHolder = new RepairAdapter.ViewHolder(view);
        return viewHolder;
    }

    @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
    @Override
    public void onBindViewHolder(@NonNull RepairAdapter.ViewHolder holder, int position) {

        //对设备赋值
        holder.item_repair_machine_tv.setText(mData.get(position).getEquipmentName());

        RepairBean repairBean =mData.get(position);
        //对两个按钮监听 检修说明提交成功后,处理完成按钮才能点击
        if (repairBean.getRemarks().isEmpty()){
            holder.item_repair_complete_ll.setVisibility(View.GONE);

        }else {
            holder.item_repair_complete_ll.setVisibility(View.VISIBLE);

        }
        holder.repair_situation_ll.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (onItemClickListener1 != null){
                    onItemClickListener1.onItemClick(view,position);//检修情况说明按钮
                }
            }
        });
        holder.item_repair_complete_ll.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (onItemClickListener1 != null){
                    onItemClickListener1.onItemClick(view,position);//检修情况说明按钮
                }
            }
        });


    }

    @Override
    public int getItemCount() {
        return mData == null ? 8: mData.size();
    }
}
2.RepairBean.java

package com.hsit.tools.fk.equiprepair.bean;

public class RepairBean {
    private String remarks="";

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }
}
3.RepairActivity.java部分代码

 //点击item里的检修情况说明按钮 弹出edit对话框
    private void setItemClick() {
        repairAdapter.setOnItemClickListener1(new SeeAbnormalAdapter.OnItemClickListener() {
            @Override
            public void onItemClick(View view, int position) {
                if (view.getId() == R.id.item_repair_complete_ll) {
                    //这里写上传
                    new XPopup.Builder(RepairActivity.this)
                            .asConfirm(
                                    "提示",
                                    "是否处理完成?",
                                    new OnConfirmListener() {
                                        @Override
                                        public void onConfirm() {
                                            //接口6
                                            saveRepairInfo(position);
                                        }
                                    }
                            )
                            .show();
                }


                if (view.getId() == R.id.repair_situation_ll) {
                    new XPopup.Builder(RepairActivity.this)
                            .autoOpenSoftInput(true)//唤起键盘
                            .isRequestFocus(false)
                            .asInputConfirm("检修情况说明", "请输入检修情况", repairList.get(position).getRemarks(), "检修情况可更改!",
                                    new OnInputConfirmListener() {
                                        @Override
                                        public void onConfirm(String text) {
                                            if (text.length() > 0 && text != null) {
                                                repairList.get(position).setRemarks(text);
                                                repairAdapter.notifyDataSetChanged();
                                                //上传取消原因接口函数
                                                ToastUtil.showToast(RepairActivity.this, "检修情况说明保存成功");
                                            } else {
                                                ToastUtil.showToast(RepairActivity.this, "检修情况说明不能为空");
                                            }
                                        }
                                    })
                            .show();
                }


            }
        });
    }

4.怎么实现的

(1)在bean里加了remarks

(2)对item里多个按钮监听 View.getId

 

(3)对检修说明的监听view.getId; 获取到的值给list.setRemarks ;adapte.notifinotifyDataSetChanged自动更新adapter

 

(4) 声明repairBean  判断remaks的值 为空的时候 检修完成按钮不显示

(5)Adapter里同一个监听 不同按钮

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值