我的应用程序中有两个页面,Page_A
和Page_B
。我还有另外两个类,它们会在我的_votes
中更新一个Privider Class
变量(默认= 0),然后在Page_A
中显示此变量,并且可以正常使用。
我正在尝试访问此变量(_votes
),该变量现在已更新为在新页面23
中显示为Page_B
。但是,无论何时新页面被推送到屏幕,似乎变量都会重置为0
而不是23
。我该如何实现自己的目标。
答案 0 :(得分:2)
让我们说这是您的提供程序类
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>(
builder: (_) => AppState(),
child: MaterialApp(
home: HomePage(),
debugShowCheckedModeBanner: false));
}
}