【问题标题】:How do you get rid of the NoSuchMethodError below你如何摆脱下面的 NoSuchMethodError
【发布时间】:2018-06-01 16:01:51
【问题描述】:

您好,我正在尝试实现卡片翻转动画。 根据以下代码,共有三张卡。我收到一个错误 NoSuchMethodError 在 null 上调用了方法“/”。 收件人:空 尝试调用:/(0.333333333)

代码

class _CardFlipperState extends State<CardFlipper> {
double scrollPercent;
Offset startDrag;
double startDragPercentScroll;
double finishScrollStart;
double finishScrollEnd;
AnimationController finishScrollController;

void _onHorizontalDragStart(DragStartDetails details) {
startDrag = details.globalPosition;
startDragPercentScroll = scrollPercent;
}

void _onHorizontalDragUpdate(DragUpdateDetails details) {
final currDrag = details.globalPosition;
final dragDistance = currDrag.dx - startDrag.dx;
final singleCardDragPercent = dragDistance / context.size.width;

final numCards = 3;

setState(() {
  scrollPercent =
      (startDragPercentScroll + (singleCardDragPercent / numCards))
          .clamp(0.0, 1.0 - (1 / numCards));
 });
 }

 void _onHorizontalDragEnd(DragEndDetails details) {


 setState(() {
  startDrag = null;
  startDragPercentScroll = null;
  });
  }

  List<Widget> _buildCards() {
  return [
  _buildCard(0, 3, scrollPercent),
  _buildCard(1, 3, scrollPercent),
  _buildCard(2, 3, scrollPercent),

   ];
   }

   Widget _buildCard(int cardIndex, int cardCount, double scrollPercent) {
   final cardScrollPercent = scrollPercent / (1 / cardCount);

最后一行似乎是我无法弄清楚原因的问题。 是 Flutter 的新手

【问题讨论】:

    标签: flutter


    【解决方案1】:

    scrollPercent 没有初始化,用一些东西初始化它。在最后一行,dart 最终尝试评估 null / 1 / 3

    【讨论】:

    • scrollPercent 已经在第一个 setState 中初始化了我不知道这是否是初始化它的正确方法。在这个函数之外初始化它仍然不会改变任何东西。错误仍然存​​在
    • 你尝试在它的声明double scrollPercent = 0.0 处初始化变量吗?被剪断的代码的格式很糟糕,所以很难看到,但是初始化 scrollPercentsetState() calll 在方法 void _onHorizontalDragUpdate(DragUpdateDetails details) 内。您确定在第一次调用_buildCards() 之前已经调用了它吗?
    【解决方案2】:

    其实你是对的。我还没有完全理解初始化 scrollPercent 的意思。你的答案是正确的。谢谢你

    【讨论】:

    • 如果它帮助您解决问题,通常是“接受答案”。
    猜你喜欢
    • 2011-05-17
    • 1970-01-01
    • 2014-11-23
    • 1970-01-01
    • 2021-04-25
    • 2019-07-14
    • 1970-01-01
    • 2022-10-31
    • 1970-01-01
    相关资源
    最近更新 更多