package cn.flightfeather.thirdappmodule.adapter;
|
|
import android.support.v7.widget.RecyclerView;
|
import android.view.LayoutInflater;
|
import android.view.View;
|
import android.view.ViewGroup;
|
import android.widget.ImageView;
|
import android.widget.TextView;
|
|
import java.util.ArrayList;
|
|
import cn.flightfeather.thirdappmodule.R;
|
import cn.flightfeather.thirdappmodule.activity.MOVMapActivity;
|
import cn.flightfeather.thirdappmodule.bean.entity.Scense;
|
|
/**
|
* Created by linli on 2018/1/25.
|
* 场景清单
|
*/
|
public class MOVListAdapter extends RecyclerView.Adapter<MOVListAdapter.ScenseListViewHolder> {
|
|
private static final String TAG = "MOVListAdapter";
|
// private static final String TAG = "MOVListAdapter";
|
private final ArrayList<Scense> mDataList;
|
private final MOVMapActivity context;
|
private final LayoutInflater inflater;
|
|
public MOVListAdapter(MOVMapActivity context, ArrayList<Scense> list) {
|
this.context = context;
|
this.mDataList = list;
|
inflater = LayoutInflater.from(context);
|
}
|
|
@Override
|
public ScenseListViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
|
View view = inflater.inflate(R.layout.item_movlist, parent, false);
|
return new ScenseListViewHolder(view);
|
}
|
|
@Override
|
public void onBindViewHolder(final ScenseListViewHolder holder, final int position) {
|
int pos = holder.getAdapterPosition();
|
final Scense info = mDataList.get(pos);
|
holder.tv_scenseName.setText(info.getName());
|
holder.tv_no.setText(String.valueOf(info.getDisplayID()));
|
if (context.getmCurrentMode() == MOVMapActivity.MODE_ADD_SUBTASK) {
|
int num = info.getInspectedNum();
|
holder.tv_monitorNum.setText(String.valueOf(info.getMonitorNum() - num));
|
holder.img_minus.setVisibility(View.GONE);
|
holder.img_plus.setVisibility(View.GONE);
|
if (info.isSelected()) {
|
holder.img_selectedblue.setVisibility(View.VISIBLE);
|
} else {
|
holder.img_selectedblue.setVisibility(View.GONE);
|
}
|
} else {
|
holder.tv_monitorNum.setText(String.valueOf(info.getMonitorNum()));
|
if (info.isSelected()) {
|
holder.img_minus.setVisibility(View.VISIBLE);
|
holder.img_minus.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
int monitorNum = info.getMonitorNum() - 1;
|
if (monitorNum == 0) {
|
context.setmCurrentPosition(pos);
|
context.updateMarkers(context.getmMarkerList().get(pos), info);
|
} else {
|
info.setMonitorNum(monitorNum);
|
context.updateScenseDesc();
|
MOVListAdapter.this.notifyDataSetChanged();
|
}
|
}
|
});
|
} else {
|
holder.img_minus.setVisibility(View.INVISIBLE);
|
}
|
holder.img_plus.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
int num = info.getMonitorNum();
|
if (num == 0) {
|
context.setmCurrentPosition(pos);
|
context.updateMarkers(context.getmMarkerList().get(pos), info);
|
} else {
|
info.setMonitorNum(num + 1);
|
context.updateScenseDesc();
|
MOVListAdapter.this.notifyDataSetChanged();
|
}
|
}
|
});
|
}
|
}
|
|
@Override
|
public int getItemCount() {
|
return mDataList.size();
|
}
|
|
class ScenseListViewHolder extends RecyclerView.ViewHolder {
|
TextView tv_scenseName;
|
TextView tv_monitorNum;
|
TextView tv_no;
|
ImageView img_plus;
|
ImageView img_minus;
|
ImageView img_selectedblue;
|
|
ScenseListViewHolder(View itemView) {
|
super(itemView);
|
tv_scenseName = (TextView) itemView.findViewById(R.id.tv_scenseName);
|
tv_monitorNum = (TextView) itemView.findViewById(R.id.tv_monitorNum);
|
tv_no = (TextView) itemView.findViewById(R.id.tv_no);
|
img_plus = (ImageView) itemView.findViewById(R.id.img_plus);
|
img_minus = (ImageView) itemView.findViewById(R.id.img_minus);
|
img_selectedblue = (ImageView) itemView.findViewById(R.id.img_selectedStatus);
|
|
}
|
}
|
}
|