package com.dayu.pipirrapp.adapter; import android.content.Context; import android.view.LayoutInflater; import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.databinding.DataBindingUtil; import androidx.recyclerview.widget.RecyclerView; import com.dayu.pipirrapp.R; import com.dayu.pipirrapp.activity.InspectDetailActivity; import com.dayu.pipirrapp.activity.InspectListActivity; import com.dayu.pipirrapp.bean.net.InspectResult; import com.dayu.pipirrapp.databinding.ItemInspectBinding; import com.dayu.pipirrapp.databinding.ItemNoMoreBinding; import java.util.List; public class InspectAdapter extends BaseRecyclerAdapter { private InspectListActivity activity; private List list; public InspectAdapter(InspectListActivity activity, List list) { this.activity = activity; this.list = list; } @NonNull @Override public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { if (viewType == VIEW_TYPE_EMPTY) { ItemNoMoreBinding emptyView = DataBindingUtil.inflate((LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE), R.layout.item_no_more, parent, false); return new BaseRecyclerAdapter.ViewHolderEmpty(emptyView); } else { ItemInspectBinding binding = DataBindingUtil.inflate((LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE), R.layout.item_inspect, parent, false); return new ViewHolder(binding); } } @Override public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) { if (holder instanceof ViewHolder && list != null && list.size() > 0) { InspectResult item = list.get(position); ViewHolder viewHolder = (ViewHolder) holder; viewHolder.binding.tvInspectId.setText("巡检ID: " + item.getInspectId()); viewHolder.binding.tvStartTime.setText("开始时间: " + item.getStartTime()); viewHolder.binding.tvStopTime.setText("结束时间: " + item.getStopTime()); viewHolder.binding.tvInspectDistance.setText("巡检距离: " + item.getInspectDistance()+" KM"); // 添加点击事件 viewHolder.itemView.setOnClickListener(v -> { android.content.Intent intent = new android.content.Intent(activity, InspectDetailActivity.class); intent.putExtra("inspectId", item.getInspectId()); activity.startActivity(intent); }); } } @Override public int getItemCount() { if (list != null) { if (list.size() == 0) { return 1; } return list.size(); } return 1; } @Override public int getItemViewType(int position) { if (list != null) { if (list.size() == 0) { return VIEW_TYPE_EMPTY; } return VIEW_TYPE_ITEM; } return VIEW_TYPE_EMPTY; } static class ViewHolder extends RecyclerView.ViewHolder { ItemInspectBinding binding; public ViewHolder(ItemInspectBinding binding) { super(binding.getRoot()); this.binding = binding; } } }