NoSuchMethodError. Метод getNotification был вызван с нулевым значением. - PullRequest
0 голосов
/ 27 января 2020

Я получаю ноль при вызове метода. Я даже пытаюсь отладить, но я остановился на getNotification(), но не могу понять, почему я получаю нулевое значение. После отладки я полностью теряюсь, чего не хватает, ниже приведен код и скриншот устройства. Может быть, кто-то может помочь мне за исключением нулевой точки

Домашняя страница

child: BlocListener<NotificationBloc, NotificationState>(
                listener: (context, state) {
                },
                child: BlocBuilder<NotificationBloc, NotificationState>(
                  builder: (context, state) {
                    if(state is InitialNotificationState) {
                      return buildLoading();
                    }
                    else if (state is NotificationLoadedState) {
                      return NotificationIconBuild(state.notification);
                    }
                    else if(state is NotificationErrorState) {
                      return buildErrorUi(state.message1);
                    }
                  },

Notification_blo c

class NotificationBloc extends Bloc<NotificationEvent, NotificationState> {
  NotificationsRepositoryImp notificationsRepository;
  NotificationBloc({@required this.notificationsRepository});
  @override
  NotificationState get initialState => InitialNotificationState();
  @override
  Stream<NotificationState> mapEventToState(
    NotificationEvent event,
  ) async* {
    if(event is FetchNotificationEvent){
      try {
        NotificationModle notification = await notificationsRepository.getNotifications();
        yield NotificationLoadedState(notification: notification);
      }
      catch (e) {
        yield NotificationErrorState(message1: e.toString());
      }
    }

NotificationRepository

class NotificationsRepositoryImp {
  NotificationModle notification;
  @override
  Future<NotificationModle> getNotifications() async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    notification.fajr = await prefs.getBool('n_fajr') ?? false;
    notification.duhur = await prefs.getBool('n_duhur') ?? false;
    notification.asr = await prefs.getBool('n_asr') ?? false;
    notification.magrib = await prefs.getBool('n_magrib') ?? false;
    notification.esha = await prefs.getBool('n_esha') ?? false;
    return notification;
  }

Это проблема в Blocbuilder, потому что на домашней странице я добавил два блока Builder.

...