Как я могу решить эту ошибку «build function returned null»?

#android #flutter #stream-builder

#Android #флаттер #stream-builder

Вопрос:

Я знаю, что этот вопрос задавался несколько раз, и я попробовал то, что было предложено, то есть разместил «return» в нужных местах. Я также следовал инструкциям в своей консоли и попытался добавить пустой контейнер, но что происходит, так это то, что мой экран становится черным. Итак, вот мой код:

 class SettingsPage extends StatefulWidget {
  @override
  _SettingsPageState createState() => _SettingsPageState();
}

class _SettingsPageState extends State<SettingsPage> {
  @override
  Widget build(BuildContext context) {
    bool isSystemSelected;
    final stream = AllowedCallInheritedWidget.of(context).allowedCallStream;
    return StreamBuilder<String>(
      stream: stream,
      builder: (context, snapshot) {
        if (snapshot.data.toString().contains('PRIORITY_SENDERS_CONTACTS')) {
          isSystemSelected = true;
          return AlertDialog(
            backgroundColor: isSystemSelected ? Colors.blueGrey : Colors.amber,
            title: Text(snapshot.data),
          );
        } else if (snapshot.data
            .toString()
            .contains('PRIORITY_SENDERS_STARRED')) {
          isSystemSelected = true;
          return AlertDialog(
            backgroundColor: isSystemSelected ? Colors.blueGrey : Colors.amber,
            title: Text(snapshot.data),
          );
        } else if (snapshot.data.toString().contains('PRIORITY_SENDERS_ANY')) {
          isSystemSelected = true;
          return AlertDialog(
            backgroundColor: isSystemSelected ? Colors.blueGrey : Colors.amber,
            title: Text(snapshot.data),
          );
        }
      },
    );
  }
}
 

То, что я пытаюсь сделать, это обновить системные изменения Android в режиме реального времени. Спасибо за любую помощь!

Редактировать: я должен добавить, что «Оскорбительный виджет: StreamBuilder»

Комментарии:

1. Вы должны добавить последнее else , потому что ваше else if не может быть выполнено

2. Спасибо @RubensMelo, я добавил: else { return CircularProgressIndicator(); } Теперь все, что я получаю, это круговой индикатор выполнения.

3. тогда все ваши условия if не являются ложными. проверьте значение, чтобы выполнить правильную проверку