import 'dart:async';
import 'package:flutter/material.dart';
import 'package:nartaqi/no_connection_page.dart';
import 'package:nartaqi/notifications.dart';
import 'body.dart';
import 'connectionStatusSingleton.dart';
import 'constants.dart';
class HomePage extends StatefulWidget {
const HomePage({
Key? key,
}) : super(key: key);
@override
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
bool isOffline = false;
StreamSubscription _connectionChangeStream;
@override
initState() {
super.initState();
ConnectionStatusSingleton connectionStatus = ConnectionStatusSingleton.getInstance();
_connectionChangeStream = connectionStatus.connectionChange.listen(connectionChanged);
}
void connectionChanged(dynamic hasConnection) {
setState(() {
isOffline = !hasConnection;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: kPrimaryColor,
elevation: 0.0,
leading: IconButton(
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => const NotificationPage(),),);
},
icon: const Icon(
Icons.notifications,
color: Color(0xFFF9A826),
),
),
actions: const [
Padding(
padding:
EdgeInsets.symmetric(horizontal: 10.0, vertical: 16.0),
child: Text(
'????????',
style: kHomeScreenTextStyle,
),
),
],
),
body: isOffline? NoConnectionPage():Body(),
);
}
當我在線路后期初始化時出現錯誤(StreamSubscription _connectionChangeStream;),_connectionChangeStream 也變為灰色,該值未在任何地方使用,我實際上試圖將我的應用程式連接到互聯網并檢查是否有互聯網連接,顯然連接包只告訴你是否連接到網路它不會檢查互聯網訪問
uj5u.com熱心網友回復:
為了解決這個錯誤要么你有initialize你的_connectionChangeStream或你必須使它nullable如下
StreamSubscription? _connectionChangeStream;
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/377663.html
標籤:扑
下一篇:為什么布爾狀態不會隨鉤子改變?
