Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter AppBar内的后退按钮在颤振中显示黑屏_Flutter_Navigation_Appbar - Fatal编程技术网

Flutter AppBar内的后退按钮在颤振中显示黑屏

Flutter AppBar内的后退按钮在颤振中显示黑屏,flutter,navigation,appbar,Flutter,Navigation,Appbar,我有底部选项卡导航器,包含A和B屏幕,在B屏幕内我有导航到C页面的小部件,在C页面内我想添加返回箭头以返回到上一个屏幕(B屏幕),所以。。。 我有一个简单的小部件,代码如下 @override Widget build(BuildContext context) { return SafeArea( child: Scaffold( resizeToAvoidBottomPadding: false, appBar: A

我有底部选项卡导航器,包含A和B屏幕,在B屏幕内我有导航到C页面的小部件,在C页面内我想添加返回箭头以返回到上一个屏幕(B屏幕),所以。。。 我有一个简单的小部件,代码如下

@override
  Widget build(BuildContext context) {
    return SafeArea(
        child: Scaffold(
            resizeToAvoidBottomPadding: false,
            appBar: AppBar(
              leading: IconButton(
                icon: Icon(Icons.arrow_back),
                onPressed: () => Navigator.of(context).pop(),
              ),
              title: Text("XXX"),
              centerTitle: true,
            ),
            body: detail()));
  }
问题是每当我单击“后退箭头”时。。它变成了黑屏。。。我不知道问题出在哪里。。。那么,有没有办法转到我的上一个屏幕? 这就是我如何从B屏幕导航到C页面

InkWell(
                      onTap: () {Navigator.of(context).pushReplacement(MaterialPageRoute(
                            builder: (context) => new NextScreen(check: values)));
                      },
                      child: Text(
                        "Next...",
                        style: TextStyle(
                          fontSize: 13.0,
                        ),
                      ),
                    )

之所以会出现空白屏幕,是因为您使用了
pushReplacement
导航。什么是
pushReplacement
,它将导航到下一个屏幕,而不会将自身堆叠到路线,这意味着它将使应用程序忘记上一个屏幕是您的屏幕B。请尝试改用
Navigator.push()

以下是一个例子:

onPressed: () {
  Navigator.push(
    context,
    MaterialPageRoute(builder: (context) => ScreenC()),
  );
}

你能展示一下你是如何导航到这个屏幕的吗?嗨,我已经用我的导航代码从B屏幕编辑了我的问题到C页面嗨。。在我添加了你的代码之后它就可以工作了。。。谢谢你的帮助和帮助explanation@uyhaW不客气。祝你以后的项目好运。