class
CustomSearchDelegate extends SearchDelegate {
List<String> searchTerms = [
"Apple"
,
"Banana"
,
"Mango"
,
"Pear"
,
"Watermelons"
,
"Blueberries"
,
"Pineapples"
,
"Strawberries"
];
@override
List<Widget>? buildActions(BuildContext context) {
return
[
IconButton(
onPressed: () {
query =
''
;
},
icon: Icon(Icons.clear),
),
];
}
@override
Widget? buildLeading(BuildContext context) {
return
IconButton(
onPressed: () {
close(context, null);
},
icon: Icon(Icons.arrow_back),
);
}
@override
Widget buildResults(BuildContext context) {
List<String> matchQuery = [];
for
(var fruit in searchTerms) {
if
(fruit.toLowerCase().contains(query.toLowerCase())) {
matchQuery.add(fruit);
}
}
return
ListView.builder(
itemCount: matchQuery.length,
itemBuilder: (context, index) {
var result = matchQuery[index];
return
ListTile(
title: Text(result),
);
},
);
}
@override
Widget buildSuggestions(BuildContext context) {
List<String> matchQuery = [];
for
(var fruit in searchTerms) {
if
(fruit.toLowerCase().contains(query.toLowerCase())) {
matchQuery.add(fruit);
}
}
return
ListView.builder(
itemCount: matchQuery.length,
itemBuilder: (context, index) {
var result = matchQuery[index];
return
ListTile(
title: Text(result),
);
},
);
}
}