Flutter 为字符串列表中的每个元素定义导航路线

Flutter 为字符串列表中的每个元素定义导航路线,flutter,dart,flutter-layout,Flutter,Dart,Flutter Layout,我有一个字符串列表,它是一个文本,每个列表都应该将我移动到一个特定的屏幕或操作,当我陷入这个问题时,如何为每个列表分配不同的路径? 代码如下: List<String> items = [ 'Spedizioni', 'I Tuoi ordini', 'Aggiungi un Prodotto', 'Contattaci' ]; 直到这里,一切正常,因为它在列表中显示不同的项目,但现在我希望列表中的每个项目导航到一个路由,因为我现在只定义了一个

我有一个字符串列表,它是一个文本,每个列表都应该将我移动到一个特定的屏幕或操作,当我陷入这个问题时,如何为每个列表分配不同的路径? 代码如下:

List<String> items = [
    'Spedizioni',
    'I Tuoi ordini',
    'Aggiungi un Prodotto',
    'Contattaci'
  ];

直到这里,一切正常,因为它在列表中显示不同的项目,但现在我希望列表中的每个项目导航到一个路由,因为我现在只定义了一个,但我需要为列表中的不同项目定义不同的路由

onTap: () {
          showDialog(
            context: context,
            builder: (context) => AddingProductsPopup(),
          );
        },
请帮助我走出这个困境

根据您的完整代码,您可以通过以下方式实现:

     onTap: () {
      //here should have the options to call a different route for different List item menu

         // call for our alert dialog widget including one more variable which is  `items[i]` that has the text that would be passed to the alert
       onPressed: () {
           //here we show the pop up and pass the variable to it
              showAlert(context, items[i]);
              setState(() {});
            },
现在让我们定义我们的警报小部件

showAlert(BuildContext context, String myItem) {
  showDialog(
      context: context,
      builder: (context) {
        return StatefulBuilder(
            builder: (context, setState) {
              return AlertDialog(
                  title: Text("this is the clicked item $myItem",);});
            });
          );
        },

现在,当弹出窗口显示时,根据从
项目[i]
收到的文本,对话框可以有不同的标题,您可以添加不同的条件,根据从新闻项目收到的文本调整内容

我明白,只有一个问题,你想在点击项目或导航到另一个屏幕(根)时显示对话框,因为这是两个不同的东西?我发布的这个列表是一个菜单,列表中的每个项目都应该有一个定义的操作,在我发布的示例中,我调用了一个对话框,但在这种情况下,菜单中的所有项目都会移动到对话框中。。。。我希望此菜单中的项目调用/移动到其他路径或打开对话框…如果此帮助不忘标记为已接受,如果它没有告诉我你想要什么,那么我编辑我不认为这是正确的选择,因为你可以从完整的代码中看到:我有不同的菜单,只有一个文本WidgetHello我认为情况不清楚,请检查我的公开问题:
showAlert(BuildContext context, String myItem) {
  showDialog(
      context: context,
      builder: (context) {
        return StatefulBuilder(
            builder: (context, setState) {
              return AlertDialog(
                  title: Text("this is the clicked item $myItem",);});
            });
          );
        },