Допустим, я нажимаю на вкладку «Страница 2», а затем «Страница 3». Теперь, когда я нажимаю кнопку «Назад» на устройстве, я хочу вернуться к «Страница 2».
Что происходит со мной, так это то, что приложение закрывается. Использую ли я неправильный виджет или что я должен сделать, чтобы при использовании пользователем кнопки «Назад» на устройстве он переходил на предыдущую вкладку и не закрывал приложение принудительно.
class MovieRouting extends StatefulWidget {
@override
MovieRoutingState createState() => new MovieRoutingState();
}
// SingleTickerProviderStateMixin is used for animation
class MovieRoutingState extends State<MovieRouting> with SingleTickerProviderStateMixin {
int i = 0;
var pages = [new Page1(), new Page2(), new Page3(), new Page4()];
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
return new Scaffold(
body: pages[i],
// drawer: new AppNavigationDrawer(),
bottomNavigationBar: new BottomNavigationBar(
items: [
new BottomNavigationBarItem(
icon: new Icon(Icons.home),
title: new Text('page 1'),
),
new BottomNavigationBarItem(
icon: new Icon(Icons.photo_library),
title: new Text('page 2'),
),
new BottomNavigationBarItem(
icon: new Icon(Icons.book),
title: new Text('page 3'),
),
new BottomNavigationBarItem(
icon: new Icon(Icons.notifications),
title: new Text('page 4'),
),
],
currentIndex: i,
type: BottomNavigationBarType.fixed,
onTap: (index) {
print (index);
setState(() {
i = index;
});
},
),
);
}
}