| | |
| | | package com.example.agvcontroller; |
| | | |
| | | import android.graphics.Color; |
| | | import android.util.Log; |
| | | import android.view.LayoutInflater; |
| | | import android.view.View; |
| | | import android.view.ViewGroup; |
| | |
| | | |
| | | public class ItemAdapter extends RecyclerView.Adapter<ItemAdapter.ViewHolder> { |
| | | |
| | | private List<Item> itemList; |
| | | private List<AGVCar> itemList; |
| | | |
| | | public ItemAdapter(List<Item> itemList) { |
| | | public ItemAdapter(List<AGVCar> itemList) { |
| | | this.itemList = itemList; |
| | | } |
| | | |
| | | public static class ViewHolder extends RecyclerView.ViewHolder { |
| | | TextView agvNo; |
| | | TextView ip; |
| | | TextView port; |
| | | |
| | | public ViewHolder(@NonNull View itemView) { |
| | | super(itemView); |
| | | agvNo = itemView.findViewById(R.id.item_agvNo); |
| | | ip = itemView.findViewById(R.id.item_ip); |
| | | port = itemView.findViewById(R.id.item_port); |
| | | |
| | | itemView.setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View v) { |
| | | Log.i("List","123"); |
| | | |
| | | } |
| | | }); |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public int getItemViewType(int position) { |
| | | //return R.layout.item_view_linear; |
| | | if (itemList == null || itemList.isEmpty()) { |
| | | return R.layout.item_layout; |
| | | } else { |
| | | return R.layout.item_view_linear; |
| | | } |
| | | } |
| | | @NonNull |
| | | @Override |
| | | public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { |
| | | View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_view_linear, parent, false); |
| | | return new ViewHolder(view); |
| | | View view = LayoutInflater.from(parent.getContext()).inflate(viewType, parent, false); |
| | | ViewHolder viewHolder = new ItemAdapter.ViewHolder(view); |
| | | view.setOnClickListener(this::onClick); |
| | | return viewHolder; |
| | | } |
| | | |
| | | private void onClick(View view) { |
| | | if (mOnItemClickListener != null) { |
| | | mOnItemClickListener.onItemClick(view,(int)view.getTag()); |
| | | } |
| | | } |
| | | |
| | | private OnItemClickListener mOnItemClickListener = null; |
| | | |
| | | public static interface OnItemClickListener { |
| | | void onItemClick(View view,int position); |
| | | } |
| | | |
| | | public void setmOnItemClickListener(OnItemClickListener listener) { |
| | | this.mOnItemClickListener = listener; |
| | | } |
| | | |
| | | @Override |
| | | public void onBindViewHolder(@NonNull ViewHolder holder, int position) { |
| | | Item item = itemList.get(position); |
| | | holder.textView.setText(item.getText()); |
| | | if (itemList == null || itemList.isEmpty()) { |
| | | // 默认显示页面 |
| | | //return 1; |
| | | } else { |
| | | AGVCar item = itemList.get(position); |
| | | int status = item.getStatus(); |
| | | switch (status) { |
| | | case 0: |
| | | holder.itemView.setBackgroundColor(Color.parseColor("#D3D3D3")); |
| | | break; |
| | | default: |
| | | holder.itemView.setBackgroundColor(Color.parseColor("#90EE90")); |
| | | break; |
| | | } |
| | | holder.agvNo.setText("AGV_NO: " + item.getAgvNo()); |
| | | holder.ip.setText("AGV_IP: " + item.getIp()); |
| | | holder.port.setText("AGV_PORT: " + item.getPort()); |
| | | |
| | | holder.itemView.setTag(position); |
| | | |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public int getItemCount() { |
| | | return itemList.size(); |
| | | } |
| | | |
| | | public static class ViewHolder extends RecyclerView.ViewHolder { |
| | | TextView textView; |
| | | |
| | | public ViewHolder(@NonNull View itemView) { |
| | | super(itemView); |
| | | textView = itemView.findViewById(R.id.item_title); |
| | | if (itemList == null || itemList.isEmpty()) { |
| | | return 1; |
| | | } else { |
| | | return itemList.size(); |
| | | } |
| | | } |
| | | |
| | | public void addItem (AGVCar item) { |
| | | itemList.add(item); |
| | | notifyItemInserted(itemList.size() - 1); |
| | | } |
| | | |
| | | |
| | | } |