我无法修复这个错误
RenderBox 未布局:RenderPointerListener#2b92a relayoutBoundary=up9 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE 'package:flutter/src/rendering/box.dart':断言失败:第 1940 行 pos 12:'hasSize'。相关的导致错误的小部件是 ->ListView
这是我的所有产品部分。
import 'package:flutter/material.dart';
import 'package:hospital/Drawer/drawercontent.dart';
import 'package:hospital/Product/AllProducts/ProductList/product_list.dart';
import 'package:hospital/Product/AllProducts/carousel.dart';
import 'package:hospital/Product/AllProducts/category.dart';
class AllProducts extends StatefulWidget {
@override
_AllProductsState createState() => _AllProductsState();
}
class _AllProductsState extends State<AllProducts> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Colors.green,
title: Text(
"Product",
style: TextStyle(fontStyle: FontStyle.italic),
),
actions: [
IconButton(
icon: Icon(Icons.person),
onPressed: () => print("open cart"),
),
],
),
drawer: Drawer(
child: DrawerContent(),
),
body: ListView(
children: [
Carousel(), …Run Code Online (Sandbox Code Playgroud) flutter flutter-test flutter-dependencies flutter-layout flutter-animation
我刚刚开始使用Flutter并且在运行我的代码时遇到了这个问题"抛出了另一个异常:类型'MyApp'不是'StatelessWidget'类型的子类型".有趣的是我在代码中甚至没有这个'StatelessWidget'.
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatefulWidget {
@override
State<StatefulWidget> createState() {
// TODO: implement createState
return _MyAppState();
}
}
class _MyAppState extends State<MyApp> {
List<String> _bars = ['Olivio bar'];
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Drinkzz'),
),
body: Column(
children: [
Container(
margin: EdgeInsets.all(10.0),
child: RaisedButton(
onPressed: () {
_bars.add('Riviera Bar');
},
child: Text('Add new Bar!'),
),
),
Column(
children: _bars
.map((element) => Card(
child: Column(
children: <Widget>[ …Run Code Online (Sandbox Code Playgroud) 输出以下警告后,我的小部件测试失败:
flutter:警告:使用 finder 调用 tap() “恰好有一个带有文本“Tab 2”的小部件(忽略后台小部件):Text(“Tab 2”,softWrap:除换行符外不换行,溢出:淡入淡出,依赖关系: [MediaQuery, DefaultTextStyle])" 派生了一个偏移量 (Offset(600.0, 23.0)),该偏移量不会在指定的小部件上进行测试。flutter:也许该小部件实际上不在屏幕上,或者另一个小部件遮挡了它,或者该小部件无法接收指针事件。
水龙头永远不会被执行,因此测试的下一部分会失败。我在测试中进行了一些延迟,看起来测试正在尝试点击正确的小部件 - 它不在屏幕外,没有被遮挡,并且过去能够接收指针事件 - 不确定为什么它当前失败。
这是一个最小的可重现示例:
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: DefaultTabController(
length: 2,
child: Scaffold(
appBar: TabBar(
labelColor: Color(0xff8391e4),
tabs: [
Tab(text: 'Tab 1'),
Tab(text: 'Tab 2'),
],
),
body: TabBarView(
children: <Widget>[
Text('Tab 1 Text'),
Text('Tab 2 Text'),
],
),
),
),
);
}
}
void main() {
TestWidgetsFlutterBinding.ensureInitialized();
testWidgets('My Test', (WidgetTester tester) …Run Code Online (Sandbox Code Playgroud) flutter_local_notifications:^11.0.0
我使用了这个库,但我可以找到 IOSInitializationSettings 请帮助我。我正在尝试将推送通知集成到我的 flutter 应用程序中。
我正在开发 Flutter Web 应用程序,但在运行测试时遇到问题。
Flutter 1.7.8+hotfix.4 • channel stable • git@github.com:flutter/flutter.git
Framework • revision 20e59316b8 (9 weeks ago) • 2019-07-18 20:04:33 -0700
Engine • revision fee001c93f
Tools • Dart 2.4.0
Run Code Online (Sandbox Code Playgroud)
这是 pubspec.yaml:
name: web_flutter
description: An app built using Flutter for web
environment:
# You must be using Flutter >=1.5.0 or Dart >=2.3.0
sdk: '>=2.3.0-dev.0.1 <3.0.0'
dependencies:
flutter_web: any
flutter_web_ui: any
provider: any
rxdart: ^0.22.0
http: ^0.12.0+2
json_annotation: ^2.4.0
intl: 0.15.8
dev_dependencies:
build_runner: ^1.4.0
build_web_compilers: ^2.0.0
pedantic: ^1.0.0
json_serializable: ^3.0.0 …Run Code Online (Sandbox Code Playgroud) 当我在我的手机号码错误时单击“登录”按钮时,然后打开一个错误对话框,然后当我在对话框上单击“确定”时,我收到此错误。
我收到这条消息
该小部件已被卸载,因此状态不再具有上下文(并且应被视为已失效)
考虑在“dispose”期间取消任何活动的工作,或使用“mounted” getter 来确定状态是否仍处于活动状态。
class _LoginPageState extends State<LoginPage> {
final GlobalKey<FormState> _formKey = GlobalKey();
TextEditingController _mobileController = new TextEditingController();
// TextEditingController _nameController = new TextEditingController();
// TextEditingController _emailController = new TextEditingController();
TextEditingController _passwordController = new TextEditingController();
Map<String, String> _authData = {
'user_name': '',
'user_email': '',
'username': '',
'password': ''
};
Future _submit() async {
print('aa' + _authData['username']);
if (!_formKey.currentState.validate()) {
return;
}
_formKey.currentState.save();
try {
await Provider.of<Auth>(context, listen: false).login(
_authData['user_name'],
_authData['user_email'],
_authData['username'],
_authData['password']);
print('authData_username' + _authData['username']);
print('authData_password' + …Run Code Online (Sandbox Code Playgroud) dart flutter flutter-test flutter-dependencies flutter-layout
当我为项目运行 bitbucket 管道时,我在颤动测试期间收到错误:
/root/.pub-cache/hosted/pub.dartlang.org/firebase_core-1.24.0/lib/src/firebase_app.dart:18:25: Error: Member not found: 'FirebaseAppPlatform.verifyExtends'.
FirebaseAppPlatform.verifyExtends(_delegate);
^^^^^^^^^^^^^
Run Code Online (Sandbox Code Playgroud)
当我在终端中运行颤振测试时,我没有遇到这些问题。
我的管道脚本是:
firebase firebase-authentication flutter flutter-test flutter-objectbox
在我的应用程序中,我将 flutter onError 记录到 crashalytics,
FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterError;
Run Code Online (Sandbox Code Playgroud)
在运行集成测试时,如果发生一些异常,我会在控制台中收到以下语句,并且测试会挂起,
运行测试时引发以下异常:I/flutter (30479):测试覆盖了 FlutterError.onError 但未能将其返回到原始状态,或者出现了无法处理的意外其他错误。通常,这是由于在恢复 FlutterError.onError 之前使用了 Expect() 造成的。
控制台中的上述消息表明覆盖有问题onError,我如何FlutterError.onError根据控制台中出现的建议返回到其原始状态。
请注意,我正在使用新推荐的方式进行集成测试,
我尝试使用Flutter开发应用程序(使用Android工作室IDE).在工作室中添加了flutter插件和flutter SDK并且Everything已配置但未列出模拟器/实时设备.它显示错误,如"无法列出设备:无法发现Android设备.请运行"flutter doctor"来诊断潜在问题"