тип «Список» не является подтипом типа » Список» Как использовать список в виджете listview?

#android #ios #flutter #dart #mobile

Вопрос:

Я пытаюсь использовать список в виджете Listview в flutter, но я продолжаю получать сообщение об ошибке, в котором говорится, что мне нужен список[Виджет]. Все ответы в Интернете основаны на картах, и я все еще новичок в Флаттере. Кто-нибудь может показать мне, как использовать функцию карты для этого или как преобразовать список [Динамический] в список [Виджет]?

Вот мой код:

 import 'package:flutter/material.dart';

class NextPage extends StatefulWidget {
  final List value;

  NextPage({Key key, this.value}) : super(key: key);

  @override
  _NextPageState createState() => new _NextPageState();
}

class _NextPageState extends State<NextPage> {
  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: new AppBar(
        title: new Text("Reminders"),
      ),
      body: ListView(
        children: widget.value,
      ),
    );
  }
}

 

Комментарии:

1. Попробуй children: widget.value as List<Widget>

Ответ №1:

Согласно обсуждению, value List<String> в таком случае, чтобы передать его дальше ListView , нам нужно использовать эти данные и преобразовать их в виджет.

Здесь мы используем value и создаем Text виджет с его помощью

 
import 'package:flutter/material.dart';

class NextPage extends StatefulWidget {
  final List<String> value;

  NextPage({Key key, this.value}) : super(key: key);

  @override
  _NextPageState createState() => new _NextPageState();
}

class _NextPageState extends State<NextPage> {
  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: new AppBar(
        title: new Text("Reminders"),
      ),
      body: ListView(
       children: widget.value.map((e) => Text(e)).toList(),
      ),
    );
  }
}

 

Решает ли это проблему?

Комментарии:

1. Это, казалось, не исправило проблему, я все еще получаю ту же ошибку

2. что вы передаете в качестве ценности, можете ли вы включить это? также попробуйте flutter clean запустить еще раз.

3. решает ли это проблему или какие ошибки вы в настоящее время получаете?

4. Когда я использую метод приведения типов, ошибка говорит type 'List<dynamic>' is not a subtype of type 'List<Widget>' in type cast , что я передаю список строк, которые я получаю от функции ожидания, подобной этой: _remindersList = await _analyze(Words);

5. хорошо , вы просто передаете список строк по адресу NextPage , я прав?