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里同一個監聽 不同按鈕

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/292372.html
標籤:其他
