Я не могу понять, как заставить все мои элементы в моем списке отображаться в виде списка
В настоящее время, когда я нажимаю кнопку, чтобы отобразить список, отображается только один элемент.Если я щелкну назад и снова нажму на главную кнопку, в списке появятся 2 элемента.Промыть и повторить, 3 предмета.Кажется, я не могу отладить операторы печати, чтобы увидеть, в чем заключается моя ошибка.Когда я пытаюсь распечатать (следы) или другие варианты, это говорит, что Экземпляр модели следа (не очень полезный).Есть идеи?
Вот мой код:
class HomeScreen extends State<MyApp> {
int counter = 0;
Future<List<TrailModel>> fetchData() async {
counter++;
var response = await get(
'https://www.hikingproject.com/data/get-trails?lat=39.733694&lon=-121.854771&maxDistance=10&key=200419778-6a46042e219d019001dd83b13d58aa59');
final trailModel = TrailModel.fromJson(json.decode(response.body));
//trails.add(trailModel);
setState(() {
trails.add(trailModel);
});
return trails;
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text("HikeLocator")),
body: new RaisedButton(
child: Text("click me"),
onPressed: () async {
final trails = await fetchData();
Navigator.push(
context,
new MaterialPageRoute(builder: (context) => new ListScreen(trails)),
);
},
),
));
}
}
class ListScreen extends StatelessWidget {
final List<TrailModel> trails;
ListScreen(this.trails);
@override
Widget build(BuildContext ctxt) {
return new Scaffold(
appBar: new AppBar(
title: new Text("Here are your trails"),
),
body: TrailList(trails),
);
}
}
class TrailList extends StatelessWidget {
final List<TrailModel> trails;
TrailList(this.trails);
Widget build(context) {
return ListView.builder(
itemCount: trails.length,
itemBuilder: (context, int index) {
Object myText = json.encode(trails[index].trails);
List<dynamic> myText2 = json.decode(myText);
return Text(myText2[index]['name']);
},
);
}
}
class TrailModel {
Object trails;
TrailModel(this.trails);
TrailModel.fromJson(Map<String, dynamic> parsedJson) {
trails = parsedJson['trails'];
}
}
Я думаю, что моя проблема может заключаться в fetchData (), но я не совсем уверен.Попытка по крайней мере распечатать значения, чтобы ограничить, где моя проблема может быть.(Это только добавление 1 к списку каждый раз, когда я нажимаю кнопку? Это только рендеринг одного, когда я нажимаю на нее? Это выборка всех данных каждый клик или только один объект json? И т. Д.)
Спасиболюбезно за любую помощь.Извините, я новичок в дартс, так что это огромная кривая обучения для