diff options
| author | uvok | 2025-07-21 17:55:48 +0200 | 
|---|---|---|
| committer | uvok | 2025-07-21 17:55:48 +0200 | 
| commit | 27830b7bce9bdabc5ba46beab99389ecc96f3f92 (patch) | |
| tree | 5a396b63845763d607198d4822adabfa3ce6d0b8 /lib | |
| parent | 8b100e51ad6d26401efa4855ac7ed200d82f9bdf (diff) | |
handle listitem selection
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/main.dart | 21 | 
1 files changed, 15 insertions, 6 deletions
| diff --git a/lib/main.dart b/lib/main.dart index 86c82eb..fb4eaff 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -62,11 +62,13 @@ class MyHomePage extends StatefulWidget {  class _MyHomePageState extends State<MyHomePage> {    final List<ScanResult> scanResults = [];    bool isScanning = false; +  int selectedResult = -1;    void _doScan() async {      setState(() {        scanResults.clear();        isScanning = true; +      selectedResult = -1;      });      var subscription = FlutterBluePlus.onScanResults.listen(        onScanResult, @@ -171,15 +173,22 @@ class _MyHomePageState extends State<MyHomePage> {                  //itemCount: scanResults.length,                  itemBuilder: (context, index) {                    if (index >= scanResults.length) return null; - -                  final result = scanResults[index]; -                  final name = result.device.advName.isEmpty -                      ? Text("<Unknown>") -                      : Text(result.device.advName); +                  final ScanResult result = scanResults[index]; +                  final String name = result.device.advName.isEmpty +                      ? ("<Unknown>") +                      : (result.device.advName);                    return ListTile( -                    title: name, +                    title: Text(name),                      subtitle: Text(result.device.remoteId.str),                      trailing: Text('RSSI: ${result.rssi}'), +                    selectedTileColor: Colors.amber, +                    selectedColor: Colors.black, +                    onTap: () { +                      setState(() { +                        selectedResult = index; +                      }); +                    }, +                    selected: selectedResult == index,                    );                  },                  separatorBuilder: (BuildContext context, int index) { | 
