Flutter-GetX-Navigation: ошибка оператора нулевой проверки при загрузке начального экрана

Я очень новичок в Dart и программировании в целом. Я создал этот код после просмотра руководств на YouTube. По большей части я смог устранить большинство своих проблем самостоятельно, здесь я чувствую, что мне нужна помощь. Я хотел добавить BottomNavigationBar. После того, как я установил его в качестве начального корня, я получаю следующую ошибку:-

      Null check operator used on a null value

Вот:-

Код страницы с нижней панелью навигации находится здесь:-

      class LandingPage extends StatelessWidget {
      LandingPage({Key? key}) : super(key: key);
    
      @override
      Widget build(BuildContext context) {
        return GetBuilder<LandingPageController>(
            builder: (controller) {
              return Scaffold(
                body: SafeArea(
                  child:IndexedStack(
                    index: controller.tabIndex,
                    children: const [
                      HomeScreen(),
                      CourseScreen(),
                      ProfileScreen(),
                    ],
    
                  ),
                ),
                bottomNavigationBar: BottomNavigationBar(
    
                  // onTap: Controller.changeTabIndex,
                  // currentIndex: controller.tabIndex,
                  items: const [
                    BottomNavigationBarItem(
                      icon: Icon(Icons.home),
                      label: 'Home',
                      backgroundColor: Color(0xff2AA8A1),
                    ),
                    BottomNavigationBarItem(
                      icon: Icon(Icons.play_arrow),
                      label: 'Course',
                      backgroundColor: Color(0xff2AA8A1),
                    ),
                    BottomNavigationBarItem(
                      icon: Icon(Icons.person_sharp),
                      label: 'Profile',
                      backgroundColor: Color(0xff2AA8A1),
                    ),
                  ],
    
                ), //BottomNavBar().BottomNavigationBar(),
    
              );
            }
        );
      }
    }

Мой контроллер целевой страницы:-

              import 'package:get/get.dart';
    
    class LandingPageController extends GetxController {
      var tabIndex = 0;
    
      void changeTabIndex(int index) {
        tabIndex = index;
        update();
      }
    }

вот мой начальный экран:-

       _setInitialScreen(User? user) {
if (user == null) {
  Get.offAll(() => LoginScreen());
} else {
  Get.offAll(() => LandingPage());
}

}

Пожалуйста, помогите мне понять, почему я получаю эту ошибку

1 ответ

Проверьте значение значения controller.tabindex. Может быть, именно здесь вы получаете нуль.

Другие вопросы по тегам