Flutter - MultiProvider (ChangeNotifierProvider) 不起作用

Flutter - MultiProvider (ChangeNotifierProvider) doesn't work

ChangeNotifierProvider 不起作用!我不知道是什么问题。 谁能告诉我这段代码有什么问题? 谢谢

我想将 test 值传递到下一页。

这是主要功能和供应商

void main() {
runApp(
MultiProvider(
providers:[
ChangeNotifierProvider<ProductsNotifier>(create:(context)=> ProductsNotifier()),
//  second provider...
],
child:MaterialApp( home: MyApp())
)  
);
}

class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
//Provider
return Scaffold(
  appBar: AppBar(
    title: Text('Test'),
  ),
  body: Container(
    child:RaisedButton(
    onPressed: (){
    ProductsNotifier obj = new ProductsNotifier();
    obj.testFun();
      Navigator.push(context,
            MaterialPageRoute(builder: (context) => NextPage()),
        );
      },
      child: Text('GO TO THE NEXT PAGE'),
    )
   ),
  );
 }
}

下一页:

class NextPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
 var txt = Provider.of<ProductsNotifier>(context);

return Scaffold(
  appBar: AppBar(
    title: Text('Next Page'),
  ),
  body: Container(
    child: Text(txt.test.toString()),
  ),
);
}
}

Class 产品通知程序

class ProductsNotifier with ChangeNotifier{
String _test ;
String get test => _test;

 void testFun()  {
 _test = "DONE!";
  notifyListeners();
 }
}

首先删除这一行:

ProductsNotifier obj = new ProductsNotifier();

此处已创建:

ChangeNotifierProvider<ProductsNotifier>(create:(context)=> ProductsNotifier()),

然后

class ProductsNotifier with ChangeNotifier{

替换为:

class ProductsNotifier extends ChangeNotifier{