我正在制作通知页面,并在通知图标上显示未读通知的数量。我想更改通知的状态为打开通知页面时读取,并更新徽章。
是或不是,如果小部件在小部件树上,这意味着它是打开的,也可能不是(例如它在列的下面,这意味着它仍然在小部件树上,但不是在用户前面)
该方法可用于任何StatefulWidget
,如下所示:
void initState() {
super.initState();
if (mounted) {
//do some thing
}
}
不仅在initState
中,而且在StatefulWidget
中几乎无处不在。
简单地挂载是一个布尔值,如果小部件在小部件树中,则返回true,否则返回false。
,还有许多其他方法可以在状态管理解决方案中检查这个
然而,根据你的用例,你不需要,你可以简单地重置或隐藏通知计数器,当通知屏幕打开时,通过调用initState()
或didChangeDependencies()
的方法,甚至只是在StatelessWidget
上可以完成的构建方法之后,像这样:
class NotificationScreen extends StatelessWidget {
const NotificationScreen({Key key}) : super(key: key);
@override
Widget build(BuildContext context) {
// this will be called every time you open this widget (screen)
restNotificationConter();
return Scaffold(