如何解决Flutter Provider ‘GestureDetector’中的‘onScaleUpdate’无法持续触发‘rebuild’?
在下面的代码中,每次打印多个“详细信息”时,只会打印一个“构建”。我希望它每次打印一个“详细信息”时都打印一个“构建”。我该怎么办?
在下面的代码中,每次打印多个“详细信息”时,只会打印一个“构建”。我希望它每次打印一个“详细信息”时都打印一个“构建”。我该怎么办?
void main() {
runApp(MyApp());
}
class MyApp extends StatefulWidget {
@override
State<StatefulWidget> createState() {
return _MyApp();
}
}
class _MyApp extends State<MyApp> {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Material(
child: FlutterTest(),),);
}
}
class FlutterTest extends StatefulWidget {
@override
_FlutterTestState createState() => _FlutterTestState();
}
class _FlutterTestState extends State<FlutterTest> {
@override
Widget build(BuildContext context) {
return ChangeNotifierProvider(
create: (_) => Controller(),child: Demo(),);
}
}
class Controller extends ChangeNotifier {
int count = 0;
void countIncrement() {
count++;
notifyListeners();
}
}
class Demo extends StatefulWidget {
@override
_DemoState createState() => _DemoState();
}
class _DemoState extends State<Demo> {
@override
Widget build(BuildContext context) {
print("build");
return GestureDetector(
child: Container(
color: Colors.yellow,alignment: Alignment.center,width: 300,height: 300,child: Text(context.watch<Controller>().count.toString()),onScaleUpdate: (details) {
print("details");
context.read<Controller>().countIncrement();
},);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。