Flutter:问题收录

2024-08-27 16:58
文章标签 问题 收录 flutter

本文主要是介绍Flutter:问题收录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • Missing Xcode dependency: Python module "six"
    • 参考
  • Navigator operation requested with a context that does not include a Navigator
    • 原因
  • Scaffold.of() called with a context that does not contain a Scaffold.
    • 原因
  • Waiting for another flutter command to release the startup lock
  • TextField 的 HintText不垂直居中
  • flutter doctor --android-licenses
  • Cannot find declaration to go to

Missing Xcode dependency: Python module “six”

按照建议使用pip install sixsudo easy_install six没用,使用python2.x -m pip install six或者 brew reinstall python@2
pip install six解决。

参考

Missing xcode dependency: Python module “six”

Navigator operation requested with a context that does not include a Navigator

在写页面跳转的时候报出了该错误:

void main() => runApp(new MyApp());class MyApp extends StatelessWidget {// This widget is the root of your application.@overrideWidget build(BuildContext context) {return new MaterialApp(title: 'Flutter Test',home: new Scaffold(appBar: new AppBar(title: new Text("Flutter Test"),),body: new Column(children: <Widget>[new RaisedButton(onPressed: () {Navigator.push(context,new MaterialPageRoute(builder: (context) => new BasicWidget()));},child: new Text('基本组件'),)],),),);}
}

修改为以下即可,把Scafford独立出widget出来。

void main() => runApp(new MyApp());class MyApp extends StatelessWidget {// This widget is the root of your application.@overrideWidget build(BuildContext context) {return new MaterialApp(title: 'Flutter Test',home: new HomeWidget(),);}
}class HomeWidget extends StatelessWidget{@overrideWidget build(BuildContext context) {return new Scaffold(appBar: new AppBar(title: new Text("Flutter Text"),),body: new Column(children: <Widget>[new RaisedButton(onPressed: () {Navigator.push(context,new MaterialPageRoute(builder: (context) => new BasicWidget()),);},child: new Text('基本组件'),)],),);}
}

原因

  1. BuildContext-class
  2. Flutter by Example BuildContext Class
  3. What does BuildContext do in Flutter?

Scaffold.of() called with a context that does not contain a Scaffold.

调用Scaffold.of(context).showSnackBar(snackBar);的时候报错:

I/flutter (24518): The following assertion was thrown while handling a gesture:
I/flutter (24518): Scaffold.of() called with a context that does not contain a Scaffold.
I/flutter (24518): No Scaffold ancestor could be found starting from the context that was passed to Scaffold.of(). This
I/flutter (24518): usually happens when the context provided is from the same StatefulWidget as that whose build
I/flutter (24518): function actually creates the Scaffold widget being sought.
I/flutter (24518): There are several ways to avoid this problem. The simplest is to use a Builder to get a context that
I/flutter (24518): is “under” the Scaffold. For an example of this, please see the documentation for Scaffold.of():
I/flutter (24518): https://docs.flutter.io/flutter/material/Scaffold/of.html
I/flutter (24518): A more efficient solution is to split your build function into several widgets. This introduces a
I/flutter (24518): new context from which you can obtain the Scaffold. In this solution, you would have an outer widget
I/flutter (24518): that creates the Scaffold populated by instances of your new inner widgets, and then in these inner
I/flutter (24518): widgets you would use Scaffold.of().
I/flutter (24518): A less elegant but more expedient solution is assign a GlobalKey to the Scaffold, then use the
I/flutter (24518): key.currentState property to obtain the ScaffoldState rather than using the Scaffold.of() function.
I/flutter (24518): The context used was:
I/flutter (24518): BasicWidget

class BasicWidget extends StatelessWidget {@overrideWidget build(BuildContext context) {return new Scaffold(appBar: new AppBar(title: new Text("Basic Widget"),),body: new Column(children: <Widget>[new RaisedButton(onPressed: () {final snackBar = new SnackBar(content: new Text("这是一个Snackbar"),action: new SnackBarAction(label: "Undo",onPressed: (){}),);Scaffold.of(context).showSnackBar(snackBar);},child: new Text("显示Snackbar"),)],));}
}

改成:

class BasicWidget extends StatelessWidget {@overrideWidget build(BuildContext context) {return new Scaffold(appBar: new AppBar(title: new Text("Basic Widget"),),body: new Builder(builder: (BuildContext context){return new Column(children: <Widget>[new RaisedButton(onPressed: () {final snackBar = new SnackBar(content: new Text("这是一个Snackbar"),action: new SnackBarAction(label: "Undo",onPressed: (){}),);Scaffold.of(context).showSnackBar(snackBar);},child: new Text("显示Snackbar"),)],);}),);}
}

或者我们也可以把Column抽出来:

class BasicWidget extends StatelessWidget {@overrideWidget build(BuildContext context) {return new Scaffold(appBar: new AppBar(title: new Text("Basic Widget"),),body: new BasicColumnWidget());}
}class BasicColumnWidget extends StatelessWidget {@overrideWidget build(BuildContext context) {// TODO: implement buildreturn new Column(children: <Widget>[new RaisedButton(onPressed: () {final snackBar = new SnackBar(content: new Text("这是一个Snackbar"),action: new SnackBarAction(label: "Undo", onPressed: () {}),);Scaffold.of(context).showSnackBar(snackBar);},child: new Text("显示Snackbar"),)],);}
}

原因

of method

Waiting for another flutter command to release the startup lock

终端使用命令flutter packages pub build_runner watch


TextField 的 HintText不垂直居中

textStyle里使用textStyle : TextStyle(textBaseline: TextBaseline.alphabetic)

flutter doctor --android-licenses

使用flutter doctor --android-licenses命令的时候报以下错误:

Exception in thread “main” java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
at com.android.repository.api.SchemaModule S c h e m a M o d u l e V e r s i o n . < i n i t > ( S c h e m a M o d u l e . j a v a : 156 ) a t c o m . a n d r o i d . r e p o s i t o r y . a p i . S c h e m a M o d u l e . < i n i t > ( S c h e m a M o d u l e . j a v a : 75 ) a t c o m . a n d r o i d . s d k l i b . r e p o s i t o r y . A n d r o i d S d k H a n d l e r . < c l i n i t > ( A n d r o i d S d k H a n d l e r . j a v a : 81 ) a t c o m . a n d r o i d . s d k l i b . t o o l . s d k m a n a g e r . S d k M a n a g e r C l i . m a i n ( S d k M a n a g e r C l i . j a v a : 73 ) a t c o m . a n d r o i d . s d k l i b . t o o l . s d k m a n a g e r . S d k M a n a g e r C l i . m a i n ( S d k M a n a g e r C l i . j a v a : 48 ) C a u s e d b y : j a v a . l a n g . C l a s s N o t F o u n d E x c e p t i o n : j a v a x . x m l . b i n d . a n n o t a t i o n . X m l S c h e m a a t j a v a . b a s e / j d k . i n t e r n a l . l o a d e r . B u i l t i n C l a s s L o a d e r . l o a d C l a s s ( B u i l t i n C l a s s L o a d e r . j a v a : 581 ) a t j a v a . b a s e / j d k . i n t e r n a l . l o a d e r . C l a s s L o a d e r s SchemaModuleVersion.<init>(SchemaModule.java:156) at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75) at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81) at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73) at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48) Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) at java.base/jdk.internal.loader.ClassLoaders SchemaModuleVersion.<init>(SchemaModule.java:156)atcom.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)atcom.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)atcom.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)atcom.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)Causedby:java.lang.ClassNotFoundException:javax.xml.bind.annotation.XmlSchemaatjava.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)atjava.base/jdk.internal.loader.ClassLoadersAppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
… 5 more

在 Android Studio 的 Preferences -> Appearance & Behavior -> System Settings -> Android SDK 里选择 SDK
Tools 安装 Android SDK Command-line Tools 即可。

Cannot find declaration to go to

删除项目根目录的.idea文件夹,然后重新打开工程。

这篇关于Flutter:问题收录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1112256

相关文章

Flutter实现文字镂空效果的详细步骤

《Flutter实现文字镂空效果的详细步骤》:本文主要介绍如何使用Flutter实现文字镂空效果,包括创建基础应用结构、实现自定义绘制器、构建UI界面以及实现颜色选择按钮等步骤,并详细解析了混合模... 目录引言实现原理开始实现步骤1:创建基础应用结构步骤2:创建主屏幕步骤3:实现自定义绘制器步骤4:构建U

MySQL主从同步延迟问题的全面解决方案

《MySQL主从同步延迟问题的全面解决方案》MySQL主从同步延迟是分布式数据库系统中的常见问题,会导致从库读取到过期数据,影响业务一致性,下面我将深入分析延迟原因并提供多层次的解决方案,需要的朋友可... 目录一、同步延迟原因深度分析1.1 主从复制原理回顾1.2 延迟产生的关键环节二、实时监控与诊断方案

SQLyog中DELIMITER执行存储过程时出现前置缩进问题的解决方法

《SQLyog中DELIMITER执行存储过程时出现前置缩进问题的解决方法》在SQLyog中执行存储过程时出现的前置缩进问题,实际上反映了SQLyog对SQL语句解析的一个特殊行为,本文给大家介绍了详... 目录问题根源正确写法示例永久解决方案为什么命令行不受影响?最佳实践建议问题根源SQLyog的语句分

解决IDEA报错:编码GBK的不可映射字符问题

《解决IDEA报错:编码GBK的不可映射字符问题》:本文主要介绍解决IDEA报错:编码GBK的不可映射字符问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录IDEA报错:编码GBK的不可映射字符终端软件问题描述原因分析解决方案方法1:将命令改为方法2:右下jav

MyBatis模糊查询报错:ParserException: not supported.pos 问题解决

《MyBatis模糊查询报错:ParserException:notsupported.pos问题解决》本文主要介绍了MyBatis模糊查询报错:ParserException:notsuppo... 目录问题描述问题根源错误SQL解析逻辑深层原因分析三种解决方案方案一:使用CONCAT函数(推荐)方案二:

Redis 热 key 和大 key 问题小结

《Redis热key和大key问题小结》:本文主要介绍Redis热key和大key问题小结,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、什么是 Redis 热 key?热 key(Hot Key)定义: 热 key 常见表现:热 key 的风险:二、

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

Spring 中的循环引用问题解决方法

《Spring中的循环引用问题解决方法》:本文主要介绍Spring中的循环引用问题解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录什么是循环引用?循环依赖三级缓存解决循环依赖二级缓存三级缓存本章来聊聊Spring 中的循环引用问题该如何解决。这里聊

Spring Boot中JSON数值溢出问题从报错到优雅解决办法

《SpringBoot中JSON数值溢出问题从报错到优雅解决办法》:本文主要介绍SpringBoot中JSON数值溢出问题从报错到优雅的解决办法,通过修改字段类型为Long、添加全局异常处理和... 目录一、问题背景:为什么我的接口突然报错了?二、为什么会发生这个错误?1. Java 数据类型的“容量”限制

关于MongoDB图片URL存储异常问题以及解决

《关于MongoDB图片URL存储异常问题以及解决》:本文主要介绍关于MongoDB图片URL存储异常问题以及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录MongoDB图片URL存储异常问题项目场景问题描述原因分析解决方案预防措施js总结MongoDB图