package cn.flightfeather.thirdapp.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.thirdapp.R; import cn.flightfeather.thirdapp.activity.MOVMapActivity; import cn.flightfeather.thirdapp.bean.Scense; /** * Created by linli on 2018/1/25. * 场景清单 */ public class MOVListAdapter extends RecyclerView.Adapter { private static final String TAG = "MOVListAdapter"; // private static final String TAG = "MOVListAdapter"; private final ArrayList mDataList; private final MOVMapActivity context; private final LayoutInflater inflater; public MOVListAdapter(MOVMapActivity context, ArrayList 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) { final Scense info = mDataList.get(position); 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(position); context.updateMarkers(context.getmMarkerList().get(position), 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(position); context.updateMarkers(context.getmMarkerList().get(position), 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); } } }