Флаттер: метод был вызван на ноль - PullRequest
0 голосов
/ 11 марта 2020

Я хочу запустить свое приложение, но я получаю эту ошибку после попытки перезагрузить его. Но я продолжаю получать эту ошибку. Я пытался удалить некоторый код, который я редактировал, прежде чем он перестал работать, но я продолжаю получать эту ошибку. Этот код взят из следующей ссылки, и я немного его изменил. "https://pub.dev/packages/flutter_circular_slider" Cansomeone помочь мне? Сообщение об ошибке Мое сообщение об ошибке в терминале: метод '>' был вызван с нулевым значением. Получатель: null Пробный вызов:> (null)

class Register extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: RegisterLayout(),
    );
  }
}

class RegisterLayout extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Container(
          child: RegisterPage(),
        ),
    );
  }
}

class RegisterPage extends StatefulWidget {
  @override
  _RegisterThirdPageState createState() => _RegisterThirdPageState();
}

class _RegisterThirdPageState extends State<RegisterPage> {
  int initTime;
  int endTime;
  int inBedTime;
  int outBedTime;
  String startReading;
  String endReading;
  String overTime;

  @override
  void _updateLabels(int init, int end, int all) {
    setState(() {
      inBedTime = init;
      outBedTime = end;
    });
  }
  @override
  Widget build(BuildContext context) {
      return Column(
        mainAxisAlignment: MainAxisAlignment.spaceEvenly,
        children: [
          SizedBox(height: 20),
          Text(
            'How long did you want to read',
            style: TextStyle(color: Colors.green[600], fontSize: 22),
          ),
          DoubleCircularSlider(
            288,
            initTime,
            endTime,
            height: 300.0,
            width: 300.0,
            primarySectors: 4,
            baseColor: Colors.grey[200],
            selectionColor: Colors.green[400],
            handlerColor: Colors.green[600],
            handlerOutterRadius: 20.0,
            onSelectionChange: _updateLabels,
            sliderStrokeWidth: 40.0,
            child: Padding(
              padding: const EdgeInsets.all(42.0),
              child: Center(
                  child: Text('${_formatIntervalTime(inBedTime, outBedTime)}',
                      style: TextStyle(fontSize: 40.0, color: Colors.green[600]))),
            ),
          ),
          Row(mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [
            _formatBedTime('START', inBedTime),
            _formatBedTime('END', outBedTime),
          ]),
          FlatButton(
            padding: EdgeInsets.only(top: 10, bottom: 10, left: 100, right: 100),
            child: Text('N E X T', style: TextStyle(fontSize: 30),),
            color: Colors.green[400],
            textColor: Colors.white,
            shape: RoundedRectangleBorder(
              borderRadius: BorderRadius.circular(50.0),
            ),
            onPressed: () {
              startReading = _formatTime(inBedTime);
              endReading = _formatTime(outBedTime);
              overTime = _formatIntervalTime(inBedTime, outBedTime);
              print(startReading);
              print(endReading);
              print(overTime);
            },
          ),
        ],
    );
  }
  Widget _formatBedTime(String pre, int time) {
    return Column(
      children: [
        Text(pre, style: TextStyle(color: Colors.green[400], fontSize: 16)),
        Text('READING AT', style: TextStyle(color: Colors.green[400], fontSize: 16)),
        Text(
          '${_formatTime(time)}',
          style: TextStyle(color: Colors.green[600], fontSize: 24),
        )
      ],
    );
  }
  String _formatTime(int time) {
    if (time == 0 || time == null) {
      return '00:00';
    }
    var hours = time ~/ 12;
    var minutes = (time % 12) * 5;
    return '$hours:$minutes';
  }
  String _formatIntervalTime(int init, int end) {
    var sleepTime = end > init ? end - init : 288 - init + end;
    var hours = sleepTime ~/ 12;
    var minutes = (sleepTime % 12) * 5;
    return '${hours}h${minutes}m';
  }
  int _generateRandomTime() => Random().nextInt(288);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...