Я пытаюсь создать приложение с информацией о продукте, я использую будущего разработчика для создания списка категорий. Я сталкиваюсь с двумя проблемами: 1. когда приложение изначально отключено, а затем становится подключенным, оно не загружает данные. 2. Есть ли способ получить длину снимков. Я вставлю код ниже:
FutureBuilder(
future: getAllCategory(),
builder: (BuildContext context, AsyncSnapshot snapshot) {
if (snapshot.data == null) {
return Center(
child: Container(
child: CircularProgressIndicator(),
),
);
} else {
return ListView.builder(
scrollDirection: Axis.horizontal,
itemCount: categorylist.length != 0 || categorylist.length!= null ? categorylist.length:0,
shrinkWrap: true,
itemBuilder: (context, index) {
return GestureDetector(
onTap: () async {
pr.show();
print('clicked custom category');
print(categorylist[index].catName);
print(categorylist[index].catId);
await getAllProductsInCategory(categorylist[index].catId);
setState(() {
catId = categorylist[index].catId;
myinitlist.clear();
myinitlist = List.from(productList);
pr.hide();
_selectedIndex = index;
});
},
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Card(
color: _selectedIndex != null && _selectedIndex == index
? selectedColor
: defColor,
elevation: _selectedIndex != null && _selectedIndex == index
? 4.0
: 1.0,
child: Center(
child: Padding(
padding: const EdgeInsets.all(3.0),
child: Container(
child: Padding(
padding: const EdgeInsets.all(4.0),
child: Column(
children: <Widget>[
Image.network(
categorylist[index].catThumbnail,
width: 80.0,
height: 50.0,
scale: 1.0,
),
Padding(
padding: const EdgeInsets.only(top: 4.0),
child: Text(
categorylist[index].catName,
textAlign: TextAlign.center,
style: TextStyle(color: Colors.black, fontSize: 10.0, fontWeight: FontWeight.w500),
),
)
],
),
),
),
),
),
),
],
),
);
});
}
},
),
Я думаю, если есть какой-нибудь способ получить длину снимков, то я могу решить свою первую проблему.