Мне нужно обновить интерфейс пользователя, когда список обновляется, данные изменяются, но интерфейс пользователя не обновляется. Пытаясь создать приложение с информацией о продукте, когда я пытаюсь нажать на верхний значок, он обновляет список, но интерфейс пользователя остается прежним.
![enter image description here](https://i.stack.imgur.com/3pZeH.png)
Mytop icon code
import 'package:flutter/material.dart';
import 'package:igloled_app/products_list.dart';
class CategoryCard extends StatelessWidget {
final int catid;
final String name;
CategoryCard({this.catid,this.name});
@override
Widget build(BuildContext context) {
return InkWell(
onTap: (){
print(name);
print(catid);
getAllProductsInCategory(catid);
},
child: Center(
child: Padding(
padding: const EdgeInsets.all(3.0),
child: Container(
color: Color(0xffECECEC),
width: 150.0,
child: Column(
children: <Widget>[
Image.asset('images/bulb.png',width: 100.0,height: 50.0,),
Padding(
padding: const EdgeInsets.all(3.0),
child: Text(name,textAlign: TextAlign.center,
style: TextStyle(
color: Colors.black,
fontSize: 10.0,
fontWeight: FontWeight.w500),
),
)
],
),
),
),
),
);
}
}
А это мой список обновлений кода
import 'dart:convert';
import 'package:flutter/cupertino.dart';
import 'package:http/http.dart';
import 'package:igloled_app/home.dart';
import 'package:igloled_app/products.dart';
import 'dart:async';
import 'package:igloled_app/utilities/category_list.dart';
List<ProductsList> productList = [];
class ProductsList{
int proId;
String proName;
String proThummbnail;
ProductsList({@required this.proId,@required this.proName,@required this.proThummbnail});
}
Future<List<ProductsList>> getAllProductsInCategory(int catid) async{
// print(categoryList[0].catId);
String prodInCategoryUrl = 'https://app.ecwid'
'.com/api/v3/12424132/products?token'
'=public_yrwehfjhdjhfjsdyfucbjhfdsfgdshbbvcdx&enabled=true&category=$catid';
Response allProductsInCategory = await get(prodInCategoryUrl);
print(allProductsInCategory.statusCode);
productList.removeRange(0, productList.length);
if(allProductsInCategory.statusCode == 200)
{
var allProductsInCategoryData = allProductsInCategory.body;
int totalcount = jsonDecode(allProductsInCategoryData)['count'];
for(int i=0;i<totalcount;i++)
{
// print(jsonDecode(categoryData)['items'][i]['id']);
// print(jsonDecode(categoryData)['items'][i]['name']);
productList.add(
ProductsList(proId: jsonDecode(allProductsInCategoryData)['items'][i]['id'],
proName: jsonDecode(allProductsInCategoryData)
['items'][i]['name'], proThummbnail: jsonDecode
(allProductsInCategoryData)
['items'][i]['thumbnailUrl']
)
);
}
print('products list length ${productList.length}');
return productList;
}
return productList;;
}