【发布时间】:2020-11-03 11:41:44
【问题描述】:
我已从仪表板导航到名为“A”的某个屏幕。在该屏幕中,我使用 ListView Builder 显示了一个列表。在那,单击 ListView 中的项目导航到另一个名为“B”的屏幕。当我在该屏幕“B”中按下返回按钮时,它导航到仪表板。但它必须导航到屏幕“A”。请帮我解决这个问题。
在仪表板中,我使用以下代码导航到屏幕“A”,
_showSnackBar(BuildContext context, Item item) {
switch(item.name)
{
case "Disputes":
Navigator.push(context, MaterialPageRoute(builder: (context)=> Disputes()));
break;
}
}
}
在屏幕“A”中,我使用以下代码导航到屏幕“B”,
Card(
child: ListTile(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) =>
SubmitDisputes(disputesId: disputeResList[index].id.toString())));
},
trailing: Icon(
Icons.remove_red_eye),
));
}),
),
),
当我在屏幕“B”中按下返回按钮时,它会导航到仪表板。但我需要根据 backstacks 导航到“A”。
请帮帮我!
【问题讨论】:
-
看起来一切都很好,您是否尝试停止应用程序并重新启动它(不是热重载)?你是在代码中的某处调用
.pop()吗? -
不,不是。我仅在应用栏操作中添加 ``` .pop() ```。它发生在我按下 android 系统后退按钮或 IOS 向后滑动时。我也重新启动并创建了一个发布 apk。但不工作
-
能否请您发布仪表板、租赁和提交争议的所有源代码?
-
@ikerfah 我用源代码编辑了帖子。请调查一下
-
在您使用 Navigator 时可以使用
rootNavigator: true作为第二个参数吗?Navigator.of(context,rootNavigator: true).push(...)
标签: android ios flutter navigation