Случайное значение флаттера - PullRequest
0 голосов
/ 04 мая 2020

Эй, у меня есть массив с 6 значениями, и в элементе переменной я сохраняю текущее значение, и теперь моя проблема в том, что у меня есть 2 раза одно и то же значение в строке, как я могу сделать, как проверка, которую я имею никогда 2 раза подряд одно и то же значение.


final random = Random();
                      List<double> randomNumers = [
                        0.0,
                        37.5,
                        75.0,
                        112.5,
                        150.0,
                        187.5,
                        225.0
                      ]; // random größen
                      var element = randomNumers[
                          random.nextInt(randomNumers.length)];

Ответы [ 2 ]

1 голос
/ 04 мая 2020

Вместо сохранения значений в List<double> вы можете сохранить их в Set<double>. Это позволит избежать повторения значений.

0 голосов
/ 04 мая 2020

вы можете сделать, добавив и удалив элемент в списке при выборе любого нового элемента.

Следующий код поможет вам лучше понять.

class DeleteWidget extends StatefulWidget {
  @override
  _DeleteWidgetState createState() => _DeleteWidgetState();
}

class _DeleteWidgetState extends State<DeleteWidget> {
  final random = Random();
  double lastitem;
  double element;
  List<double> randomNumers = [
    0.0,
    37.5,
    75.0,
    112.5,
    150.0,
    187.5,
    225.0
  ]; // random größen
  @override
  void initState() {
    super.initState();
    callme();
  }

  callme() {
    setState(() {
      element = randomNumers[random.nextInt(randomNumers.length)];
      if (lastitem != null) {
        randomNumers.add(lastitem);
      }
      lastitem = element;
      randomNumers.remove(lastitem);
    });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: Column(
          crossAxisAlignment: CrossAxisAlignment.center,
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Text(element.toString()),
            RaisedButton(
              child: Text("press"),
              onPressed: callme,
            ),
          ],
        ),
      ),
    );
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...