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. Может быть, именно здесь вы получаете нуль.