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/StartActivity.java | 52 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 49 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/example/agvcontroller/StartActivity.java b/app/src/main/java/com/example/agvcontroller/StartActivity.java index adb74d2..74142f4 100644 --- a/app/src/main/java/com/example/agvcontroller/StartActivity.java +++ b/app/src/main/java/com/example/agvcontroller/StartActivity.java @@ -5,6 +5,7 @@ import android.os.Bundle; import android.util.Log; import android.view.View; +import android.widget.Button; import androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.LinearLayoutManager; @@ -24,15 +25,28 @@ private RecyclerView recyclerView; private List<Item> items; private ItemAdapter adapter; + private Button addItem; SocketManager socketManager; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_start); + addItem = findViewById(R.id.addbtn); + addItem.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent = new Intent(StartActivity.this, EditeActivity.class); + startActivity(intent); + } + }); + recyclerView = findViewById(R.id.recyclerView); recyclerView.setLayoutManager(new LinearLayoutManager(this)); + + items = new ArrayList<>(); @@ -47,7 +61,14 @@ public void onItemClick(View view, int position) { Context context = view.getContext(); Intent intent = new Intent(context,MainActivity.class); - intent.putExtra("message", items.get(position).getIp()); + String ip = items.get(position).getIp(); + String clientId = items.get(position).getClientId(); + String agvNo = items.get(position).getAgvNo(); + + + intent.putExtra("ip", ip); + intent.putExtra("agvNo", agvNo); + intent.putExtra("clientId", clientId); startActivityForResult(intent,1); } }); @@ -58,11 +79,36 @@ @Subscribe(threadMode = ThreadMode.MAIN) public void onDeviceConnected(Item deviceAddress) { Log.i("EventBus", "Received device connected: " + deviceAddress); - items.add(new Item("1",deviceAddress.getIp(),"3")); - if (items.size() > 0) { + + + if (!items.isEmpty()) { + int sameIp = 0; for (Item item : items) { + if (item.getIp().equals(deviceAddress.getIp())) { + item.setAgvNo(deviceAddress.getAgvNo()); + item.setPort(deviceAddress.getPort()); + item.setClientId(deviceAddress.getClientId()); + item.setStatus(deviceAddress.getStatus()); + adapter.notifyItemChanged(items.indexOf(item)); + MainActivity.upClient(deviceAddress.getClientId()); + sameIp++; + } Log.i("Item",item.getIp()); + Log.i("Item",item.getClientId()); } + if (sameIp == 0) { + items.add(new Item(deviceAddress.getClientId() + ,deviceAddress.getIp() + ,deviceAddress.getPort() + ,deviceAddress.getAgvNo() + ,deviceAddress.getStatus())); + } + } else { + items.add(new Item(deviceAddress.getClientId() + ,deviceAddress.getIp() + ,deviceAddress.getPort() + ,deviceAddress.getAgvNo() + ,deviceAddress.getStatus())); } adapter.notifyDataSetChanged(); } -- Gitblit v1.9.1