У меня есть 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]),
),
);
},
),
);
}
}
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)
Похожие вопросы
Новые вопросы
flutter
Используйте этот тег для вопросов о наборе инструментов кроссплатформенного пользовательского интерфейса Flutter. Если ваш вопрос касается конкретной платформы, отметьте ее также (например, [android], [ios] и т. д.). Вы также можете включить тег [dart] для вопросов по кодированию.