我嘗試讀取存盤資料的檔案并將其顯示在我的螢屏上。當我第一次加載我的應用程式時,我收到如下所示的錯誤。熱重新加載后,我的資訊將顯示沒有任何錯誤。您知道為什么會發生這種情況以及如何確保我的資料在第一時間就已經加載了嗎?
也許這與打電話給國家有關,但我不知道。這是導致問題的底部代碼:
孩子:文本(context.select((FileController控制器)=>控制器。文本!)),

import 'package:flutter/material.dart';
import 'package:habit_changer/file-handling/file_controller.dart';
import 'package:habit_changer/main/AddHabitDialog.dart';
import 'package:provider/provider.dart';
import '../utils/Constants.dart';
import 'MainBody.dart';
import 'nav_bar.dart';
void main() {
runApp(MultiProvider(
providers: [ChangeNotifierProvider(create: (_) => FileController())],
child: MaterialApp(home: MyApp())
));
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
context.read<FileController>().readText();
return Scaffold(
appBar: AppBar(
title: const Text('Habits'),
backgroundColor: Constants.appBarColor,
leading: GestureDetector(
onTap: () {
openNavBar();
},
child: Icon(
Icons.menu, // add custom icons also
),
),
actions: <Widget>[
Padding(
padding: EdgeInsets.only(right: 20.0),
child: GestureDetector(
onTap: () {
showDialog(
context: context,
builder: (BuildContext context) =>
AddHabitDialog().buildPopupDialog(context),
);
},
child: Icon(Icons.add),
),
)
],
),
body: Container(
child: Text(context.select((FileController controller) => controller.text!)),
),
);
}
}
這是錯誤:
Null check operator used on a null value
The relevant error-causing widget was:
MyApp file:///C:/Projekte/Flutter Projects/habit_changer/lib/main/main.dart:13:30
When the exception was thrown, this was the stack:
#0 MyApp.build.<anonymous closure> (package:habit_changer/main/main.dart:52:82)
#1 SelectContext.select (package:provider/src/inherited_provider.dart:283:32)
#2 MyApp.build (package:habit_changer/main/main.dart:52:29)
#3 StatelessElement.build (package:flutter/src/widgets/framework.dart:4648:28)
#4 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4574:15)
uj5u.com熱心網友回復:
當您的變數最初為 null 但后來收到該值時,可能會發生這種情況。將運算子更改為空檢查運算子:
controller.text ?? ''
這將解決您收到的空例外。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/457878.html
上一篇:使用QML(Qt.openUrlExternally())在Android上打開檔案
下一篇:有人可以確認foreach回圈背后的原因,因為當前背景關系中不存在“無效令牌”和“splittedText”錯誤嗎?
