From d5722c5a50829df634f96bff131fb8cc01f6a17c Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期六, 17 八月 2024 16:27:57 +0800
Subject: [PATCH] #

---
 app/src/main/java/com/example/agvcontroller/ItemAdapter.java |  103 +++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 83 insertions(+), 20 deletions(-)

diff --git a/app/src/main/java/com/example/agvcontroller/ItemAdapter.java b/app/src/main/java/com/example/agvcontroller/ItemAdapter.java
index 4860d7c..c981707 100644
--- a/app/src/main/java/com/example/agvcontroller/ItemAdapter.java
+++ b/app/src/main/java/com/example/agvcontroller/ItemAdapter.java
@@ -1,5 +1,9 @@
 package com.example.agvcontroller;
 
+import static androidx.core.content.ContextCompat.startActivity;
+
+import android.content.Intent;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -18,26 +22,6 @@
         this.itemList = itemList;
     }
 
-    @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);
-    }
-
-    @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());
-
-    }
-
-    @Override
-    public int getItemCount() {
-        return itemList.size();
-    }
-
     public static class ViewHolder extends RecyclerView.ViewHolder {
         TextView title;
         TextView ip;
@@ -46,6 +30,85 @@
             super(itemView);
             title = itemView.findViewById(R.id.item_title);
             ip = itemView.findViewById(R.id.item_ip);
+
+            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(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.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());
+            holder.itemView.setTag(position);
+
+        }
+    }
+
+    @Override
+    public int getItemCount() {
+        //return itemList.size();
+        if (itemList == null || itemList.isEmpty()) {
+            return 1;
+        } else {
+            return itemList.size();
+        }
+    }
+
+    public void addItem (Item item) {
+        itemList.add(item);
+        notifyItemInserted(itemList.size() - 1);
+    }
+
+
 }

--
Gitblit v1.9.1