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<RecyclerView.ViewHolder> {
|
private InspectListActivity activity;
|
private List<InspectResult> list;
|
|
public InspectAdapter(InspectListActivity activity, List<InspectResult> 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;
|
}
|
}
|
}
|