我想用 Navigator.push() 解析另一个dart文件的参数。
因为我想将歌单中选中歌曲的路径发送到音乐播放器主界面(用于播放)
[歌单. dart ]
child:ListView.builder(
itemCount: getSongList()[0].length,
itemBuilder: (BuildContext context, int index) {
return ListTile(
title: Text(getSongList()[1][index].split('/').last,style:
const TextStyle(
fontSize: 21
),),
leading: IconButton(onPressed: (){
Navigator.push(context,MaterialPageRoute(builder: (context) => music_player()));
},
icon: Icon(Icons.my_library_music)),
);
}
)
),
[音乐播放器。 dart ]
class music_player extends StatefulWidget {
const music_player({Key? key}) : super(key: key);
@override
State<music_player> createState() => _music_playerState();
}
class _music_playerState extends State<music_player> {
// codes
}
我只想知道如何从第一个文件解析参数到第二个文件。如果我传递参数,将会有一个错误:
位置参数太多:应为0,但找到1。
先谢了。
2条答案
按热度按时间disbfnqx1#
您需要在小工具中添加参数(selectedSongs),如下所示:
这种方式可在导航器中使用。按下:
e5nqia272#
如果要使用Navigator传递参数,正确的方法是:
在下一个页面小部件中:
所有信息在这里:https://docs.flutter.dev/cookbook/navigation/navigate-with-arguments