我正在使用Flutter创建一个应用程序。我想从firebase获取数据并显示GridView。数据从firebase正确获取。initState()中的数据获取但它并没有更新另一个扩展自_MyHomePageState的类TheGridview。我正在使用一个变量documents用于存储来自firebase的列表。initState()文档值,但在方法createchildwidget中文档变为空。我尝试了很多方法请帮助我。代码如下所示。import'dart:async';import'package:flutter/material.dart';import'package:a
我有显示视频的代码,当我调用该代码时它可以正常工作,但是当我将相同的代码放入voidinitState方法时,它不会在应用程序,但它播放音频?任何人都可以帮助我了解正在发生的事情吗? 最佳答案 当您调用initState时,您的小部件不存在。所以你可以尝试通过在build()方法之后启动视频来修复它。为了避免重新创建小部件从无状态继承它 关于dart-在initState方法中调用时不播放Flutter视频,我们在StackOverflow上找到一个类似的问题:
我是flutter的新手,我试图阻止电话后退按钮,它在应用程序启动时有效,但是当我在google中搜索某些内容时,例如URL更改按钮继续工作我已经尝试过WillPopScope,但从未为我工作这是我的应用import'dart:io';import'package:flutter/material.dart';import'package:flutter_statusbar_manager/flutter_statusbar_manager.dart';import'package:flutter_webview_plugin/flutter_webview_plugin.dart';
我有一个父子状态小部件。通常,当父级重建时,我希望它重用现有的子状态并调用didUpdateWidget。然而,在我的例子中,它并没有这样做;相反,它会创建一个全新的状态对象并对其调用initState,从而丢失我之前的所有状态信息。医生是这么说的Bydefault,theframeworkmatcheswidgetsinthecurrentandpreviousbuildaccordingtotheirruntimeTypeandtheorderinwhichtheyappear.首先,“顺序”在这种情况下是什么意思?我假设这意味着小部件树中的位置,对吗?其次,由于我的Widget树
在我的应用程序中,我有一个抽屉导航,正文根据抽屉中按下的磁贴进行更新。每个类的主体都是相同的,它是一个有状态的小部件并返回一个ListView。对于此类的每个实例(以及每个图block),我需要调用initState方法。我注意到它只在第一个图block的第一个实例上被调用,然后它只调用构建方法。如何为每个实例第一次运行一段代码?综合:应用程序中有一个抽屉,里面有很多图block,每个图block都与一个类的实例相关联,该类是应用程序的主体。但是initState仅在第一个实例中被调用。这是一个例子:classFirstPageextendsStatefulWidget{@overri
如何获取状态的initState中的future值?我正在尝试创建一个登录屏幕,检查session是否存在于sqflite中并相应地返回。我有一个DBhelper类,用于检查数据库并在Future中返回session。我如何比较这个?我还有一个聊天屏幕,我需要监听websocket并将用户名发送到initstate上的服务器。此用户名也在数据库中,并作为Future值返回。P.S我不想在登录页面上显示正在加载。如果session在数据库中,我想直接进入主界面。 最佳答案 将代码从initState()移到另一个你可以async的方法
感谢您的关注。我是flutter的初学者。我不知道为什么默认情况下不调用initState函数。因为print(list[0])语句没有运行。import'package:flutter/material.dart';import'main_page/main_page.dart';voidmain()=>runApp(MyApp());classMyAppextendsStatelessWidget{//Thiswidgetistherootofyourapplication.@overrideWidgetbuild(BuildContextcontext){returnMateri
由于flutter在不同的条件下多次调用build方法,为了避免多次获取数据,我在initState中初始化了数据。我想在数据准备好后重新构建小部件。这是我的代码:classTestextendsStatefulWidget{@override_TestStatecreateState()=>new_TestState();}class_TestStateextendsState{Datadata;booldataReady=false;@overridevoidinitState(){super.initState();getData(context).then((Datadata)
initState()在我路由到的第一个Widget上被调用了两次。我已经删除了initState()方法中的所有方法调用和正在完成的工作,以排除它以某种方式调用自身的任何可能性。它所做的只是调用super.initState()。routes.dart:finalroutes={'/login':(BuildContextcontext)=>newLoginPage(),'/':(BuildContextcontext)=>newLoginPage()};主飞镖:voidmain()=>runApp(MyApp());classMyAppextendsStatelessWidget{
我正在使用initState并遇到Navigator问题:I/flutter(5726):ThefollowingassertionwasthrownbuildingBuilder:I/flutter(5726):setState()ormarkNeedsBuild()calledduringbuild.我的代码:@overridevoidinitState(){super.initState();print(globals.isLoggedIn);if(globals.isLoggedIn){print("Alreadylogin");Navigator.push(context,M