Как выбрать случайный элемент из списка во флаттере - PullRequest
0 голосов
/ 26 апреля 2020

Я создал файл dart со списком, похожим на

class Happylist {
  String imageUrl;

  String url;
  String name;

  Happylist({
    this.imageUrl,
    this.url,
    this.name,
  });
}

List<Happylist> hes = [
  Happylist(
    name: 'somename',
    imageUrl: 'assets/images/someimage.jpg',
    url: 'someweblink',
  ),
  Happylist(
    name: 'somename',
    imageUrl: 'assets/images/someimage.jpg',
    url: 'someweblink',
  ),

И инициализирован с объектом с именем hes, поэтому, пожалуйста, помогите мне создать функцию в main.dart, которая генерирует случайный элемент из этого списка. Когда он генерирует случайный элемент, как получить доступ к его URL.

Ответы [ 2 ]

1 голос
/ 26 апреля 2020

Импорт математической библиотеки для генерации случайных чисел;

import 'dart:math';

- это псевдоним;

List yourList = ["first item", "second item", "third item"];

, а затем создание случайного числа, которое будет использоваться, так как индекс должен быть ограничен максимальное число с размером списка;

int randomIndex = Random().nextInt(yourList.length);

и проверьте результат;

print(yourList[randomIndex]);
0 голосов
/ 26 апреля 2020

Просто сделайте это

List<Happylist> hes = List<Happylist>();

  hes.insert(
      0,
      new Happylist(
          name: 'somename',
          imageUrl: 'assets/images/someimage.jpg',
          url: 'someweblink'));
  hes.insert(
      1,
      new Happylist(
          name: 'somename1',
          imageUrl: 'assets/images/someimage1.jpg',
          url: 'someweblink'));
  hes.insert(
      2,
      new Happylist(
          name: 'somename2',
          imageUrl: 'assets/images/someimage2.jpg',
          url: 'someweblink'));

  var randomHappylist = (hes.toList()..shuffle()).first;
  print(randomHappylist.imageUrl);

проверьте также

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...