From 1a6230570a8f1419173b2ecd22548cc01ab08195 Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期一, 20 一月 2025 16:44:42 +0800 Subject: [PATCH] # --- app/src/main/java/com/example/agvcontroller/MainActivity.java | 3 - app/src/main/java/com/example/agvcontroller/StartActivity.java | 10 ++-- app/src/main/java/com/example/agvcontroller/EditeActivity.java | 24 ++++++++++- app/src/main/java/com/example/agvcontroller/EditeAdapter.java | 68 ++++++++++++++++++++++++++++++--- app/src/main/res/layout/activity_edite.xml | 3 + 5 files changed, 89 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/com/example/agvcontroller/EditeActivity.java b/app/src/main/java/com/example/agvcontroller/EditeActivity.java index 01ae776..d4ee322 100644 --- a/app/src/main/java/com/example/agvcontroller/EditeActivity.java +++ b/app/src/main/java/com/example/agvcontroller/EditeActivity.java @@ -1,17 +1,35 @@ package com.example.agvcontroller; import android.os.Bundle; +import android.util.Log; import androidx.appcompat.app.AppCompatActivity; -import androidx.core.graphics.Insets; -import androidx.core.view.ViewCompat; -import androidx.core.view.WindowInsetsCompat; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import java.util.ArrayList; +import java.util.List; public class EditeActivity extends AppCompatActivity { + + private RecyclerView recyclerView; + private List<Item> items; + private EditeAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_edite); + + items = new ArrayList<>(); + + items.add(new Item("Item 1", "Description 1", 10, "1", 0)); + + recyclerView = findViewById(R.id.edite_recyclerView); + recyclerView.setLayoutManager(new LinearLayoutManager(this)); + + Log.d("EditeActivity", "onCreate: " + items.size()); + adapter = new EditeAdapter(items); + recyclerView.setAdapter(adapter); } } \ No newline at end of file diff --git a/app/src/main/java/com/example/agvcontroller/EditeAdapter.java b/app/src/main/java/com/example/agvcontroller/EditeAdapter.java index 5249683..e9a3925 100644 --- a/app/src/main/java/com/example/agvcontroller/EditeAdapter.java +++ b/app/src/main/java/com/example/agvcontroller/EditeAdapter.java @@ -1,23 +1,34 @@ package com.example.agvcontroller; +import android.graphics.Color; import android.util.Log; +import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.EditText; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; +import java.util.List; + public class EditeAdapter extends RecyclerView.Adapter<EditeAdapter.ViewHolder> { + private List<Item> itemList; + + public EditeAdapter(List<Item> itemList) { + this.itemList = itemList; + } + public static class ViewHolder extends RecyclerView.ViewHolder { - TextView agvNo; - TextView ip; + EditText agvNo; + EditText ip; public ViewHolder(@NonNull View itemView) { super(itemView); - agvNo = itemView.findViewById(R.id.item_agvNo); - ip = itemView.findViewById(R.id.item_ip); + agvNo = itemView.findViewById(R.id.agvNo); + ip = itemView.findViewById(R.id.ip); itemView.setOnClickListener(new View.OnClickListener() { @Override @@ -31,18 +42,61 @@ @NonNull @Override - public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { - return null; + public EditeAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = LayoutInflater.from(parent.getContext()).inflate(viewType, parent, false); + ViewHolder viewHolder = new EditeAdapter.ViewHolder(view); + view.setOnClickListener(this::onClick); + return viewHolder; + } + + @Override + public int getItemViewType(int position) { + return R.layout.edite_view; + } + + private void onClick(View view) { + if (mOnItemClickListener != null) { + mOnItemClickListener.onItemClick(view,(int)view.getTag()); + } + } + + private EditeAdapter.OnItemClickListener mOnItemClickListener = null; + + public static interface OnItemClickListener { + void onItemClick(View view,int position); } @Override public void onBindViewHolder(@NonNull ViewHolder holder, int position) { + if (itemList == null || itemList.isEmpty()) { + // 榛樿鏄剧ず椤甸潰 + //return 1; + } else { + Item 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.itemView.setTag(position); + + } } @Override public int getItemCount() { - return 0; + if (itemList == null || itemList.isEmpty()) { + return 1; + } else { + return itemList.size(); + } } } diff --git a/app/src/main/java/com/example/agvcontroller/MainActivity.java b/app/src/main/java/com/example/agvcontroller/MainActivity.java index 9503614..a374ad3 100644 --- a/app/src/main/java/com/example/agvcontroller/MainActivity.java +++ b/app/src/main/java/com/example/agvcontroller/MainActivity.java @@ -55,9 +55,6 @@ public static final Map<String, Object> map = new ConcurrentHashMap(); public static final Map<String, Object> car_num = new ConcurrentHashMap(); - private RecyclerView recyclerView; - private ItemAdapter itemAdapter; - private List<Item> itemList; private Vibrator vibrator; private Button stopBtn; // 鎬ュ仠鎸夐挳 // private Button forceSwitchBtn; // 鎵嬭嚜鍔ㄥ己鍒跺紑鍏� diff --git a/app/src/main/java/com/example/agvcontroller/StartActivity.java b/app/src/main/java/com/example/agvcontroller/StartActivity.java index 534e02d..74142f4 100644 --- a/app/src/main/java/com/example/agvcontroller/StartActivity.java +++ b/app/src/main/java/com/example/agvcontroller/StartActivity.java @@ -35,11 +35,6 @@ setContentView(R.layout.activity_start); addItem = findViewById(R.id.addbtn); - - - recyclerView = findViewById(R.id.recyclerView); - recyclerView.setLayoutManager(new LinearLayoutManager(this)); - addItem.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -48,6 +43,11 @@ } }); + recyclerView = findViewById(R.id.recyclerView); + recyclerView.setLayoutManager(new LinearLayoutManager(this)); + + + items = new ArrayList<>(); adapter = new ItemAdapter(items); diff --git a/app/src/main/res/layout/activity_edite.xml b/app/src/main/res/layout/activity_edite.xml index 4d44a4f..637f41a 100644 --- a/app/src/main/res/layout/activity_edite.xml +++ b/app/src/main/res/layout/activity_edite.xml @@ -49,9 +49,10 @@ <androidx.recyclerview.widget.RecyclerView - android:id="@+id/recyclerView" + android:id="@+id/edite_recyclerView" android:layout_width="0dp" android:layout_height="0dp" + app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="1.0" app:layout_constraintStart_toStartOf="parent" -- Gitblit v1.9.1