从主屏幕注销工作正常,即使在导航到其他屏幕然后返回主屏幕注销时,但是,当从主屏幕开始评估时,将您带到"assessment_list"并返回主屏幕,注销不起作用。我将如何解决这个问题?
主屏幕
actions: [
...
items: [
DropdownMenuItem(
child: Container(
child: Row(
children: [
const Icon(Icons.exit_to_app),
const Text('Logout'),
const SizedBox(width: 8),
],
),
),
value: 'logout',
),
],
onChanged: (itemIdentifier) {
if (itemIdentifier == 'logout') {
FirebaseAuth.instance.signOut();
}
...
RaisedButton(
child: Text(
'Start Assessment'
),
onPressed: () {
navigateToAssessmentList(context);
},
),
...
Future navigateToAssessmentList(context) async {
Navigator.push(
context, MaterialPageRoute(builder: (context) => AssessmentList()));
}
assessment_list
child: RaisedButton(
padding: EdgeInsets.all(10),
color: const Color(0xfff4f4f4),
child: Text(
'Back To Home',
),
onPressed: () {
Navigator.of(context).push(MaterialPageRoute(
builder: (context) => BottomNavBarController()));
}),
您在堆栈中再次推送同一页面。请替换以下行
Navigator.of(context).push(MaterialPageRoute(
builder: (context) => BottomNavBarController()));
有了这个
Navigator.pop(context)