我有国家班
class ListScreenState extends State<ListScreen>...
我想使用AutomaticKeepAliveClientMixin(以防止包含这些屏幕的TabBar被丢弃)和TickerProviderStateMixin,因为我有需要它的动画控制器.但是当我把这两个Mixin都放在这个类中时,会出现一个错误:
error: Type parameters could not be inferred for the mixin 'TickerProviderStateMixin' because the base class implements the mixin's supertype constraint 'State<T>' in multiple conflicting ways (mixin_inference_inconsistent_matching_classes at [myapp] lib/trips/ListScreen.dart:21)
我真的找不到一个很好的解释如何在一个类中使用mixin.感谢您的帮助.
以下是完整的代码:
import 'package:flutter/widgets.dart';
class ListScreen extends StatefulWidget {
@override
State<StatefulWidget> createState() {
return ListScreenState();
}
}
class ListScreenState extends State<ListScreen>
with AutomaticKeepAliveClientMixin, TickerProviderStateMixin {
AnimationController controller;
@override
void initState() {
super.initState();
controller = AnimationController(
duration: const Duration(milliseconds: 250), vsync: this);
}
@override
bool get wantKeepAlive => true;
}
DART特别抱怨添加了TickerProviderStateMixin.如果我删除AutomaticKeepAliveClientMixin,它就不会再抱怨了.