У меня есть Navigator.push в виджете, который анализирует значение для нового виджета. Это работает. В виджете с отслеживанием состояния, в котором я анализирую значение, я пытаюсь добавить значение в список, но получаю здесь ошибку:

Producerlist.add (продюсер)

Есть идеи, как это решить?

Navigator.push:

void _sendDataToSecondScreen(BuildContext context) {
    String textToSend = textFieldController.text;
    Navigator.push(
        context,
        MaterialPageRoute(
          builder: (context) => Test2(producer: textToSend,),
        ));
  }
}

Test2.dart:

import 'package:flutter/material.dart';

class Test2 extends StatefulWidget {
  final String producer;
  List<String> Producerlist = [];

  Test2({Key key, @required this.producer}) : super(key: key);

  @override
  _Test2State createState() => _Test2State();
}

class _Test2State extends State<Test2> {
  List<String> Producerlist = [];
  Producerlist.add (producer)

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('Test2')),
        body: ListView.builder(
          itemCount: Producerlist.length,
          itemBuilder: (context, index){
            return Card(
              child: ListTile(
                onTap: (){},
                title: Text(Producerlist[index]),
              ),
            );
          },
        ),
    );
  }
}
0
kyed 2 Окт 2020 в 00:11

1 ответ

Лучший ответ

Либо вы передаете producer на Test2State, либо (я полагаю, не пробовал сам, но видел что-то подобное) вы используете Producerlist.add (widget.producer)

ОБНОВИТЬ:

Как я уже сказал, я сам еще не пробовал это с widget.. Итак, чтобы быть уверенным, попробуйте

import 'package:flutter/material.dart';

class Test2 extends StatefulWidget {
  final String producer;

  Test2({Key key, @required this.producer}) : super(key: key);

  @override
  _Test2State createState() => _Test2State(producer);
}

class _Test2State extends State<Test2> {
  _Test2State(this.producer);
  final String producer;
  List<String> Producerlist = [];
  Producerlist.add (producer)
1
w461 2 Окт 2020 в 17:16