Exception caught by rendering library ?????????????????????????????????
RenderBox was not laid out: RenderFlex#0bf43 relayoutBoundary=up6 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
'package:flutter/src/rendering/box.dart':
Failed assertion: line 1687 pos 12: 'hasSize'
The relevant error-causing widget was
Padding
lib\Reset.dart:18
????????????????????????????????????????????????????????????????????????????????
???????? Exception caught by rendering library ?????????????????????????????????
RenderBox was not laid out: RenderPadding#0b7cf relayoutBoundary=up5 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
'package:flutter/src/rendering/box.dart':
Failed assertion: line 1687 pos 12: 'hasSize'
The relevant error-causing widget was
ListView
lib\Reset.dart:15
????????????????????????????????????????????????????????????????????????????????
???????? Exception caught by rendering library ?????????????????????????????????
RenderBox was not laid out: RenderRepaintBoundary#393f1 relayoutBoundary=up4 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
'package:flutter/src/rendering/box.dart': …
Run Code Online (Sandbox Code Playgroud) 我正在使用sqflite,并且通过以下代码获取特定记录的行数:
Future<int> getNumberOfUsers() async {
Database db = await database;
final count = Sqflite.firstIntValue(
await db.rawQuery('SELECT COUNT(*) FROM Users'));
return count;
}
Run Code Online (Sandbox Code Playgroud)
Future<int> getCount() async {
DatabaseHelper helper = DatabaseHelper.instance;
int counter = await helper.getNumberOfUsers();
return counter;
}
Run Code Online (Sandbox Code Playgroud)
我想将此函数的结果放入 int 变量中以在内部使用onPressed
它FloatingActionButton
int count = getCount();
int countParse = int.parse(getCount());
Run Code Online (Sandbox Code Playgroud)
return Stack(
children: <Widget>[
Image.asset(
kBackgroundImage,
height: MediaQuery.of(context).size.height,
width: MediaQuery.of(context).size.width,
fit: BoxFit.cover,
),
Scaffold(
floatingActionButton: FloatingActionButton(
backgroundColor: Colors.white,
child: Icon(
Icons.add,
color: kButtonBorderColor,
size: 30.0,
), …
Run Code Online (Sandbox Code Playgroud) 实际上我正在使用 Bloc 处理登录页面。因此,当我按下提交按钮时,它会在 bloc 上执行业务逻辑,然后尝试根据结果导航到主页。我试过这个
Widget submitButton() {
return StreamBuilder(
stream: bloc.submitStream,
builder: (context, snapshot) {
if (snapshot.data == "Success") {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => RegisterPage(),
),
);
}
return RaisedButton(
child: Text("Submit"),
onPressed: () {
bloc.submitSink.add(null);
},
);
},
);
}
Run Code Online (Sandbox Code Playgroud)
但我得到了这样的错误The widget which was currently being built when the offending call was made...
。
后来我找到了两个解决方案:1.使用 SchedulerBinding,2.使用 WidgetsBinding。那么SchedulerBinding 和WidgetsBinding 有什么区别呢?我必须使用哪一种?
完整的错误日志:
I/flutter (17893): ??? EXCEPTION CAUGHT BY WIDGETS LIBRARY ????????????????????????????????????????????????????????????
I/flutter (17893): …
Run Code Online (Sandbox Code Playgroud) 我知道函数独立于任何类,静态方法附加到类。看起来他们俩都取得了同样的成就。这引出了以下问题:它们的优点和缺点是什么?
我想创建一组用于离线 PIN 配置的函数,例如setPin
, changePin
, verifyPin
。我是否必须将它们作为静态方法包装在类中,或者我可以将它们创建为 Dart 文件中的函数吗?
我已经在我的pubspec.yaml
.
connectivity: ^0.4.6
但仍然收到此错误:
E/flutter ( 4789): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: MissingPluginException(No implementation found for method check on channel plugins.flutter.io/connectivity)
E/flutter ( 4789): #0 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:314:7)
E/flutter ( 4789):
E/flutter ( 4789): #1 Connectivity.checkConnectivity (package:connectivity/connectivity.dart:73:47)
Run Code Online (Sandbox Code Playgroud)
错误连接来自这一行:
Future<ConnectivityResult> checkConnectivity() async {
final String result = await methodChannel.invokeMethod<String>('check');
return _parseConnectivityResult(result);
}
Run Code Online (Sandbox Code Playgroud)
而且我从未修改过这个包,但无论我使用什么版本的这个插件,仍然会出现这个错误。我希望任何人都可以帮助我解决这个错误,谢谢。对不起,我的英语不好。
我需要将dropdown
我的flutter
应用程序的对齐到最右边。它已经对齐,但在我的实际应用程序中,我有多个dropdowns
在另一个之下。并非所有下拉菜单中的菜单项长度都相似。所以我需要所有这些都与最右边对齐。
下面是我的代码。
Row(
children: <Widget>[
Expanded(
flex: 1,
child: Container(
margin: EdgeInsets.only(left: 10),
child: Text(
"Size: ",
style: Theme.of(context).textTheme.subhead,
),
),
),
Expanded(
flex: 3,
child: DropdownButton(
hint: Text(
"Please Select ",
style: TextStyle(
fontSize: 14,
),
),
items: <String>[
'Skinless Boneless, Full Loins',
'brown',
'silver'
].map((data) {
return DropdownMenuItem(
child: new Text(data,
style: TextStyle(
fontSize: 14,
)),
value: data,
);
}).toList(),
onChanged: (String newValue) {
setState(() {
_sizedropDown = newValue;
print(newValue);
});
}, …
Run Code Online (Sandbox Code Playgroud) 我的意图是我想在列表中列出一个类的 5 个实例
final List<Ball> _ballList =[Ball(),Ball(),Ball(),Ball(),Ball(),]
Run Code Online (Sandbox Code Playgroud)
相反,我想要类似的东西
final List<Ball> _ballList =[Ball() * 5]
Run Code Online (Sandbox Code Playgroud) 我想用来showSearch
从用户那里获取搜索文本(或查询)。我还想将最近的搜索显示为建议,并根据输入的文本过滤搜索历史。
那么我该如何实现呢?