草庐IT

Navigator

全部标签

Flutter:在 Widget 的状态的 initState 中获取 Navigator 传递的参数

我有一个StatefulWidget,我想在命名路由中使用它。我必须按照https://flutter.dev/docs/cookbook/navigation/navigate-with-arguments中的建议传递一些我正在做的论点即Navigator.pushNamed(context,routeName,arguments:,);现在,我需要在状态的initState方法中访问这些参数,因为需要参数来订阅一些外部事件。如果我将args=ModalRoute.of(context).settings.arguments;调用放在initState中,我会得到一个运行时异常。20

flutter - 为什么在 flutter 中调用 Navigator.of(context).pushNamed(..) 时会构建两次小部件?

下面类TestWidget中的build函数在执行导航代码时被调用两次。TestWidget在控制台上打印了两次。有谁知道为什么会这样?classTestWidgetextendsStatelessWidget{@overrideWidgetbuild(BuildContextcontext){print("TestWidget");returnnewScaffold(body:newText("TESTWIDGET"),);}}导航代码:Navigator.of(context).pushNamed(AppRoutes.fieldData);`路线定义:AppRoutes.field

Flutter navigator.push() 对象问题

当使用Navigator.push()将一个对象从一个类传递到另一个类时,即使该对象声明为非最终对象,也不会对其进行修改。主屏幕:创建一个对象(userBean)并传递给第一个屏幕第一个屏幕:显示相同的对象(userBean)值,并将相同的对象(userBean)再次传递到第二个屏幕。第二屏:尝试在第二屏修改相同的对象(userBean),并使用refreshData.then方法在第一屏打印相同的对象(userBean)。Main.dartimport'package:flutter/material.dart';import'package:flutter_app_poc1/fir

android - Flutter - Navigator 的 'parent != ' null' is not true' 错误

我写了一些检查,然后如果条件为真则导航到下一页。但是,只要该条件返回true并且我打算导航,我就会不断收到错误消息classBuyTicketsextendsStatefulWidget{@override_BuyTicketsStatecreateState()=>new_BuyTicketsState();}class_BuyTicketsStateextendsState{@overridevoidinitState(){...if(condition){//SkiptonextpageNavigator.push(context,MaterialPageRoute(builde

flutter - 每次推送使用不同的动画时如何正确执行 Navigator.popUntil

我正在尝试在Flutter中重建iOS应用程序,但遇到导航问题。这是我想做的:带有添加按钮的已添加交易对列表(A屏幕)“添加”按钮会打开PickerwithExchanges(B屏幕),并从底部过渡到顶部。通过点击交换,它会推送新的PickerwithPairs(C屏幕)从右到左过渡。当用户点击配对时,它会立即关闭所有选择器并将选择结果传送到A屏幕。我尝试了双弹出和弹出,但结果总是一样,我同时看到2个向后转换(从左到右和从上到下)。它在iOS原生应用中的样子:它在Flutter应用中的样子:用嵌套导航器解决用Navigator包裹屏幕B并使用此导航器推送屏幕C,在屏幕C上使用根导航器弹

dart - 使用 Navigator.pushNamed 导航时如何发送参数

我需要将一些参数发送到命名路由。我想做类似的事情:Navigator.pushNamed('/route/1');或者Navigator.pushNamed('/route?param1=1');我不知道是否有办法做到这一点,我正在使用带有路由器的MaterialApp。 最佳答案 第一种方式是我在我的应用程序中使用的方式。Navigator.pushNamed('/route/1');不要忘记使用onGenerateRoute并传递值。我的应用程序示例:routes:{'/':(BuildContextcontext)=>Auth

redux - Flutter Redux Navigator GlobalKey.currentState 返回 null

我正在使用Redux开发Flutter。当用户启动一个应用程序时,我希望Redux自动调度一个action。此操作将使Navigator依赖地推送不同的路由。这段代码providedbyaFlutterdevmember使用GlobalKey来使用middleware中的Navigator。在此之后,我将我的代码组织如下:ma​​in.dartvoidmain(){finalstore=newStore(appStateReducer,middleware:createRouteMiddleware());runApp(newMyApp(store));}classMyAppexten

android - Flutter Navigator Pop 不起作用

我昨天发现了flutter并尝试了一些,但我有一个问题。我按照教程实现了一个抽屉导航(thisone),抽屉打开得很好,所有按钮都改变了它们应该改变的东西,但调用了Navigator.pop(context)或Navigator.of(context).pop()(两者)的行为如下:在点击“角色”之前点击“角色”后我在网上搜索过,但找不到有同样问题的人:/这是我的代码:主Dart:import'package:flutter/material.dart';import'package:dnd/home.dart';voidmain()=>runApp(newMyApp());class

javascript - navigator.geolocation.getCurrentPosition() 在 Android 上的 WebView 中永远不会返回

我正在尝试访问AndroidWebView中可用的HTMLGeolocationAPI(使用SDK版本24)。主要问题是对navigator.geolocation.getCurrentPosition()的调用在JavaScript中永远不会返回(既没有错误,也没有位置数据),而在应用程序端,我检查权限并使用android.webkit.GeolocationPermissions.Callback正确地将它们传递给WebView类。更新:在这里澄清一下,“永不返回”是指两个提供的回调都没有navigator.geolocation.getCurrentPosition(succes

android - Phonegap - navigator.app.backHistory() 不适用于 HTML 后退按钮

在我的应用程序中,我使用的是phonegap2.6。对于后退按钮,我使用以下功能document.addEventListener("backbutton",onBackKeyDown,false);functiononBackKeyDown(){alert("hello");navigator.app.backHistory();}document.addEventListener('deviceready',onDeviceReady,true);当我点击设备的硬件返回按钮时,上述功能工作正常。但是当我点击后退按钮时它不起作用。我的后退按钮设计如下:但是这个按钮对于这个naviga