SearchList для FlutterAudioQuery не работает
когда я запускаю код без текста на панели поиска, он показывает null, как сказано в коде, но когда я помещаю текст в свою панель поиска.
он просто выводит все песни с моего устройства вместо названия песни, которую я вставил в текст.
пожалуйста, что не так, действительно нужна ваша помощь
import 'package:boomwarp/screens/songs.dart';
import 'screens/list_song.dart';
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:flutter_audio_query/flutter_audio_query.dart';
class search extends StatefulWidget {
@override
_searchState createState() => _searchState();
}
class _searchState extends State<search> {
TextEditingController controller = TextEditingController();
final FlutterAudioQuery audioQuery = FlutterAudioQuery();
List<AlbumInfo> albums = [];
List<SongInfo> songs = [];
@override
void initState() {
super.initState();
searchAlbums();
searchSongs();
}
Future<List<AlbumInfo>> searchAlbums() async {
albums = await audioQuery.searchAlbums();
}
Future<List<SongInfo>> searchSongs() async {
songs = await audioQuery.searchSongs(query: "");
return songs;
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Colors.grey[900],
toolbarHeight: 60.0,
title: TextField(
onChanged: (query) {
setState(() {
});
},
controller: controller,
cursorColor: Colors.indigo[300],
decoration: InputDecoration(
hintText: " Search songs, albums, artist....",
hintStyle: TextStyle(color: Colors.white),
border: InputBorder.none,
suffixIcon: IconButton(
icon: Icon(Icons.search),
color: Colors.indigo[300],
onPressed: () {})),
style: TextStyle(color: Colors.white, fontSize: 15.0),
),
),
backgroundColor: Colors.grey[900],
body: FutureBuilder(
future: searchSongs(),
builder: (context, item) {
// Load items
return ListView.builder(
itemCount: songs.length,
itemBuilder: (context, i) {
if (controller.text.isNotEmpty) {
return ListTile(
title: Text(
('${songs[i].title}'),
style: TextStyle(color: Colors.indigo.shade300),
),
subtitle: Text(
songs[i].artist,
style: TextStyle(color: Colors.white70),
),
);
} else {
return null;
}
},
);
}),
);
}
}
Я не знаю, onChanged ли это, потому что, когда я помещаю название песни, которую хочу найти, вместо этого он просто приносит все