How to display in alphabetical order the ListView ItemB in my file?
class _TestScreen1State extends State<TestScreen1> {
late bool _changeItemA_to_ItemB = true;
final List<Map<String, String>> _lexiqueItems = [
{'itemA': "Aa_ItemA", 'itemB': "Za_ItemB"},
{'itemA': "Ab_ItemA", 'itemB': "Zb_ItemB"},
{'itemA': "Ac_ItemA", 'itemB': "Zc_ItemB"},
{'itemA': "Ba_ItemA", 'itemB': "Ya_ItemB"},
{'itemA': "Bb_ItemA", 'itemB': "Yb_ItemB"},
{'itemA': "Bc_ItemA", 'itemB': "Yc_ItemB"},
{'itemA': "Ca_ItemA", 'itemB': "Xa_ItemB"},
{'itemA': "Cb_ItemA", 'itemB': "Xb_ItemB"},
{'itemA': "Cc_ItemA", 'itemB': "Xc_ItemB"},
];
I use a search bar:
void _runFilter(String enteredKeyword) {
List<Map<String, String>> results = [];
if (enteredKeyword.isEmpty) {
results = _lexiqueItems;
} else {
results = _lexiqueItems
.where((item) => (_changeItemA_to_ItemB == true)
? (item["itemA"]!.toLowerCase().contains(enteredKeyword.toLowerCase()))
: item["itemB"]!.toLowerCase().contains(enteredKeyword.toLowerCase())
).toList();
}
setState(() {
_foundItems = results;
});
}
I'm using a button to choose the list view option.
The code from the list depending on the option chosen:
ListView.builder(
itemCount: _foundItems.length,
itemBuilder: (context, index) => Card(
key: ValueKey((_changeItemA_to_ItemB == true) ? _foundItems[index]["itemA"] : _foundItems[index]["itemB"]),
color: Colors.indigo[100],
elevation: 4,
margin: const EdgeInsets.symmetric(vertical: 10),
child: ListTile(
title: Text((_changeItemA_to_ItemB == true) ? _foundItems[index]["itemA"] : _foundItems[index]["itemB"]),
subtitle: Text((_changeItemA_to_ItemB == true) ? _foundItems[index]["itemB"] : _foundItems[index]["itemA"]),
),
),
)