我正在嘗試實作本地通知,但我面臨著NoSuchMethodError,我已經除錯了代碼并找到了問題,但沒有找到正確的解決方案。
final NotificationManager manager;
const AddNotification(this.manager)。
然后在它的State類中這樣呼叫:
widget.manager.showNotificationDaily(1, "Asar"/span>, "isNotification"/span>, hour, minute) 。
而在前面的類中,我已經從呼叫AddNotification的地方發送了一個像這樣的通知管理器物件。
class AllSurah extends StatefulWidget {
NotificationManager經理。
@override
_AllSurahState createState() => _AllSurahState();
}
導航儀.推送(
背景關系。
MaterialPageRoute( builder: (context) => AddNotification(widget.manager))。
);
我對代碼進行了除錯,發現管理器從之前的類中傳遞NotificationManger物件的時候是空的。我怎樣才能解決這個問題呢?
uj5u.com熱心網友回復:
試一下下面的代碼:
NotificationManager manager = new NotificationManager()。
uj5u.com熱心網友回復:
問題不在于你沒有把變數傳遞給物件。問題在于,在你呼叫manager的時候,這個變數是空的,這就拋出了你所看到的例外。
你可以通過使用Null Aware Operator ( ? ) 來避免Null Exceptions,就像這樣:
widget.manager?.showNotificationDaily(1, "Asar"/span>, "isNotification"/span>, hour, minute) 。
但這只能避免拋出一個例外。你真的應該調查一下為什么這個變數會被傳成null
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/309232.html
標籤:
