我一直试图将静态数据加载到ListViewBuilder中,我使用下面给出的相同代码成功实现了该功能,但现在无法正常工作.
I have been trying to load static data into ListViewBuilder I successfully achieved the functionality using the same code given below but now it ain't working.
列表查看器
ListView.builder( scrollDirection: Axis.horizontal, shrinkWrap: true, itemCount: allProducts.length==null ? 0 : allProducts.length, itemBuilder: (BuildContext ctxt, int index) { return new CustomCardProduct( product:allProducts[index], onPress: (){ ); }, ); }, ),USER.DART文件中存储的静态数据和类别.
List<Product> allProducts= [ Product(title: 'Quran Classes',price: 5000,description: "Hello World",likes: 4,mainImage: 'assets/quranforkidssample.jpg',galleryImages: galleryImages,serviceType: 'Home Based',user: user1,category: categories[0]), Product(title: 'Quran Classes',price: 5000,description: "Hello World",likes: 4,mainImage: 'assets/quranforkidssample.jpg',galleryImages: galleryImages,serviceType: 'Home Based',user: user1,category: categories[0]), Product(title: 'Quran Classes',price: 5000,description: "Hello World",likes: 4,mainImage: 'assets/quranforkidssample.jpg',galleryImages: galleryImages,serviceType: 'Home Based',user: user1,category: categories[0]), Product(title: 'Quran Classes',price: 5000,description: "Hello World",likes: 4,mainImage: 'assets/quranforkidssample.jpg',galleryImages: galleryImages,serviceType: 'Home Based',user: user1,category: categories[0]), Product(title: 'Quran Classes',price: 5000,description: "Hello World",likes: 4,mainImage: 'assets/quranforkidssample.jpg',galleryImages: galleryImages,serviceType: 'Home Based',user: user1,category: categories[0]), ]; User user1= User( id: 0, name: 'User Name', imageUrl: 'assets/momina.jpg', cnicPicture: '', contactNumber: '0335-2366331' , city: 'Karachi', followers: 100, following: 200, rating: 2.5, area: 'Defence', ); List<Category> categories=[ Category(name: 'Education',icon: FontAwesomeIcons.pen), Category(name: 'Education',icon: FontAwesomeIcons.hackerNews), Category(name: 'Education',icon: FontAwesomeIcons.pen), Category(name: 'Education',icon: FontAwesomeIcons.pen), Category(name: 'Education',icon: FontAwesomeIcons.pen), Category(name: 'Education',icon: FontAwesomeIcons.pen), Category(name: 'Education',icon: FontAwesomeIcons.pen), ]; List<String> galleryImages = [ 'assets/quranforkidssample.jpg', 'assets/quranforkidssample.jpg', 'assets/quranforkidssample.jpg', 'assets/quranforkidssample.jpg', ]; class User { final int id; final String name; final String imageUrl; final String cnicPicture; final String contactNumber; final String city; final String email; final int followers; final int following; final List<Product> productList; final double rating; final String area; User({this.area,this.id,this.name, this.imageUrl, thisicPicture, this.contactNumber, this.city, this.email, this.followers, this.following, this.productList, this.rating}); } class Product{ final String title; final int price; final String description; final Category category; final int likes; final User user; final String mainImage; final List<String> galleryImages; final serviceType; Product({this.serviceType,this.title, this.price, this.description, this.category, this.likes, this.user, this.mainImage, this.galleryImages}); } class Category{ final String name; final IconData icon; Category({this.name, this.icon}); }应用程序加载后,在红色框中显示错误.说在初始化期间读取静态变量所有产品".我不想在单独的文件夹中调用此数据文件,因为我将通过构造函数传递数据我的allProduct对象列表为null!但是为什么???
When the application has loaded, it gives an error in the Red box. saying Reading static variable "all products" during its initialization. I don't want to call this data file in the separate folders as I will be passing on data through constructors my allProduct Object List is null! but why ???
推荐答案您要做的就是更改为allProducts.data [index]而不是allproducts [index],将allProducts.data.length更改为allProducts.length您的ListView.builder.
All you need to do is change to allProducts.data[index] instead of allproducts[index], and allProducts.data.length instead of allProducts.length in your ListView.builder.
ListView.builder( scrollDirection: Axis.horizontal, shrinkWrap: true, itemCount: allProducts.data.length==null ? 0 : allProducts.data.length, itemBuilder: (BuildContext context, int index) { return new CustomCardProduct( product:allProducts.data[index], onPress: (){ ); }, ); }, ),更多推荐
在初始化期间读取静态变量
发布评论