我的应用程序中有两个页面,Page_A
和Page_B
。我有另外两个类,它们更新我的Privider Class
中的_votes
变量(默认值为0(,然后在Page_A
中显示该变量,这可以很好地工作。
我正在尝试访问这个变量(_votes
(,它现在更新为新页面Page_B
中的23
。但是,当新页面被推到屏幕上时,变量似乎被重置为0
而不是23
。我如何才能实现我想要做的事情。
假设这是您的提供者类
class AppState with ChangeNotifier {
int _votes = 0;
getVotes() => _votes;
setVotes(votes) {
_votes = votes;
notifyListeners();
}}
//访问
appState = Provider.of<AppState>(context);
//以获得当前值
appState.getVotes();
//设置值
v = 23;
appState.setVotes(v);
确保根类应该是这样的:
void main() {
runApp(new MyApp());}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return ChangeNotifierProvider<AppState>(
create: (_) => AppState(),
child: MaterialApp(
home: HomePage(),
debugShowCheckedModeBanner: false));
}
}