From 82023c98e5c30d36966b85c10c43a6cb11f67e2c Mon Sep 17 00:00:00 2001
From: zhuguifei <zhuguifei@zhuguifeideiMac.local>
Date: 星期三, 14 一月 2026 11:16:22 +0800
Subject: [PATCH] 修复某些情况下选择蓝牙错乱问题

---
 app/src/main/java/com/shlb/comb/adapter/HomeDeviceListAdapter.java |   19 ++++++++++---------
 1 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/app/src/main/java/com/shlb/comb/adapter/HomeDeviceListAdapter.java b/app/src/main/java/com/shlb/comb/adapter/HomeDeviceListAdapter.java
index e6fa862..2789916 100644
--- a/app/src/main/java/com/shlb/comb/adapter/HomeDeviceListAdapter.java
+++ b/app/src/main/java/com/shlb/comb/adapter/HomeDeviceListAdapter.java
@@ -40,7 +40,7 @@
         final ViewHolder viewHolder;
         // General ListView optimization code.
         if (view == null) {
-            view = mInflater.inflate(R.layout.home_list_bluetooth_item, null);
+            view = mInflater.inflate(R.layout.home_list_bluetooth_item, parent, false);
             viewHolder = new ViewHolder();
             viewHolder.deviceAddress = (TextView) view.findViewById(R.id.device_address);
             viewHolder.deviceName = (TextView) view.findViewById(R.id.device_name);
@@ -57,17 +57,18 @@
             viewHolder.tvServiceUuids = (TextView) view.findViewById(R.id.tv_service_uuids);
             viewHolder.tvServiceData = (TextView) view.findViewById(R.id.tv_service_data);
             viewHolder.tvManufacturerData = (TextView) view.findViewById(R.id.tv_manufacturer_data);
-
-            view.findViewById(R.id.conn_btn).setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View view) {
-                    onItemButtonClick.buttonClick(view, position);
-                }
-            });
+            viewHolder.connBtn = view.findViewById(R.id.conn_btn);
             view.setTag(viewHolder);
         } else {
             viewHolder = (ViewHolder) view.getTag();
         }
+
+        viewHolder.connBtn.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                onItemButtonClick.buttonClick(view, position);
+            }
+        });
 
         final BluetoothLeDevice device = (BluetoothLeDevice) getItem(position);
         final String deviceName = device.getName();
@@ -231,7 +232,7 @@
         TextView tvServiceUuids;
         TextView tvServiceData;
         TextView tvManufacturerData;
-
+        View connBtn;
     }
 
     public interface setOnItemButtonClick {

--
Gitblit v1.9.3