From 8e6d7c8275117ca2659e7f82051f8af19741aa9d Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期五, 07 二月 2025 16:51:33 +0800 Subject: [PATCH] # --- app/src/main/java/com/example/agvcontroller/ItemAdapter.java | 71 +++++++++++++++++++++++++++-------- 1 files changed, 54 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/com/example/agvcontroller/ItemAdapter.java b/app/src/main/java/com/example/agvcontroller/ItemAdapter.java index 582adef..d919fd1 100644 --- a/app/src/main/java/com/example/agvcontroller/ItemAdapter.java +++ b/app/src/main/java/com/example/agvcontroller/ItemAdapter.java @@ -1,8 +1,7 @@ package com.example.agvcontroller; -import static androidx.core.content.ContextCompat.startActivity; - -import android.content.Intent; +import android.graphics.Color; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -15,22 +14,34 @@ 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 title; + TextView agvNo; TextView ip; + TextView port; public ViewHolder(@NonNull View itemView) { super(itemView); - title = itemView.findViewById(R.id.item_title); + 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) { @@ -45,28 +56,54 @@ @Override public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(viewType, parent, false); - return new ViewHolder(view); + 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.ip.setText("璁惧IP锛� " + item.getIp()); - //holder.title.setText("璁惧缂栧彿锛� " + item.getText()); if (itemList == null || itemList.isEmpty()) { // 榛樿鏄剧ず椤甸潰 //return 1; } else { - // 鏁版嵁鏄剧ず椤甸潰 - Item item = itemList.get(position); - holder.ip.setText("璁惧IP锛� " + item.getIp()); - holder.title.setText("璁惧缂栧彿锛� " + item.getText()); + 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(); if (itemList == null || itemList.isEmpty()) { return 1; } else { @@ -74,7 +111,7 @@ } } - public void addItem (Item item) { + public void addItem (AGVCar item) { itemList.add(item); notifyItemInserted(itemList.size() - 1); } -- Gitblit v1.9.1