Animation 为什么复选框动画不';你不会在颤栗中表现出来吗?

Animation 为什么复选框动画不';你不会在颤栗中表现出来吗?,animation,checkbox,flutter,Animation,Checkbox,Flutter,我使用了复选框来更新一些数据。共享数据的方法是消费者。 问题是,复选框在更改状态时可以正常工作,但缺少检查动画。 我已经找到了问题所在,如果我使用notifyListeners()通知数据已更改,则复选框的动画将丢失 小部件代码如下所示: bool _value = false; @override Widget build(BuildContext context) { // TODO: implement build return Row( children:

我使用了复选框来更新一些数据。共享数据的方法是
消费者
。 问题是,复选框在更改状态时可以正常工作,但缺少检查动画。 我已经找到了问题所在,如果我使用
notifyListeners()
通知数据已更改,则复选框的动画将丢失

小部件代码如下所示:

bool _value = false;
@override
  Widget build(BuildContext context) {
    // TODO: implement build
    return Row(
      children: <Widget>[
        Checkbox(
          activeColor: Colors.green,
          value: _value,
          onChanged: (value) {
            setState(() {
              _value = value;
              widget.updateEnergy(); //The problem is Here!!!!!
            });
          },
        ),

        Text("foodName",
          style: TextStyle(color: Colors.blue,
              fontSize: 13, fontWeight: FontWeight.w300),
        ),

        Spacer(),

      ],
    );
  }

关键点是“notifyListeners()”,如果移除调用,动画将返回。 我的数据类是“with changeinnotifier”,因此
notifyListeners()
来自changeinnotifier。 我使用了
ChangeNotifierProvider.value(value:dailyRecord)
,在父节点中共享数据。以及使用数据的用户(…)

希望大家的帮助,怎样才能得到动画的复选框。
谢谢!

您的类是否扩展了一个
ChangeNotifier
?如果不是,请将您的
notifyListeners
methodYes,I“与ChangeNotifier一起发布”。@pskinkI used
claas TestState扩展了与ChangeNotifier的状态{…
而且它只起作用fine@pskink,首先谢谢。我的数据类就像带有ChangeNotifier{…的
类DailyRecord,这是原因吗?我没有使用状态。因为它只是数据模型。我不知道,我刚才声明了我的类,在initState()中添加了addListener()并调用了notifyListeners()内部一次更改回调
void updateCurrentEnergy(){
    _currentEnergyCount.setValue(_getCurrentEnergyCount(), _dailyTargetEnergy.unit);

    notifyListeners();
  }