使用无状态小部件创建简单随机发生器时出错。无法在初始化程序中访问实例成员

Error in creating a simple randomizer with stateless widget. The instance member can't be accessed in an initializer

我正在尝试创建一个非常简单的生成器,其中“是”、“否”或“可能”出现在这个(无状态)crystal 球中。

这是我的代码:

import 'dart:html';

import 'package:flutter/material.dart';
import 'dart:math';

void main() => runApp(
      MaterialApp(home: MyApp()),
    );

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Welcome to Flutter',
      home: Scaffold(
        backgroundColor: Colors.white,
        appBar: AppBar(
          title: Text('Welcome to Flutter'),
        ),
        body: Center(
          child: Image.asset('images/blu.png'),
        ),
      ),
    );
  }
}

class picker extends StatefulWidget {
  @override
  _pickerState createState() => _pickerState();
}

class _pickerState extends State<picker> {
  List yourList = ["Yes", "No", "Maybe"];
  int randomIndex = Random().nextInt(yourList.length);

  @override
  Widget build(BuildContext context) {
    return Center(
      child: TextButton(
        onPressed: () {
          setState(() {
            print(yourList[randomIndex]);
          });
        },
        child: null,
      ),
    );
  }
}

但是它说这个错误并且不会让我热重载它:

实例成员 'yourList' 无法在初始化程序中访问。

此外,我添加了 child:null,因为该参数是必需的。

您需要像这样在 constructor 中调用 yourList


class _pickerState extends State<picker> {
  List yourList = ["Yes", "No", "Maybe"];

 int randomIndex;


 _pickerState() {
     randomIndex = Random().nextInt(yourList.length);
  }

...