Flutter Dev نشر 22 مايو 2021 أرسل تقرير نشر 22 مايو 2021 السلام عليكم روحمة الله وبركاته تحيه طيبه للجميع قمت بعمل List View في flutter لعرض مجموعة من الصور التي تكون متواجده مسابقا على قاعدة البيانات بشكل التالي: عرض الصور شغال بشكل طبيعي لا توجد مشكله في جلب الصور من قاعدة البيانات . ولكن المشكله في جلب الصور من الجهاز في الكود التالي: onTap: () async { PickedFile pickedFile = await picker.getImage(source: ImageSource.gallery, imageQuality: 50); setState(() { if (pickedFile != null) { filteredUsers.add(pickedFile.path); } }); } هنا احاول ان اقوم بتعبئة listview من الجهاز ولكن احصل على الخطاء التالي: The argument type 'String' can't be assigned to the parameter type 'FlowerdataImage'. ما احاول فعله هو مشاهدة الصور التي تاتي من قاعدة البيانات واضافة صور لها من الجهاز في القائمة بدون عمل حفظ او ما شابه فقط اضافتها في القائمة وهذا الكود كامل المستعمل: class _update extends State<UpdateItem> { @override void initState() { super.initState(); GetImageOfTopic().then((value) { setState(() { users.addAll(value); filteredUsers = users; }); }); } List<FlowerdataImage> users = List(); List<FlowerdataImage> filteredUsers = List(); List<String> photoPaths = []; final picker = ImagePicker(); String apiURL; Future<List<FlowerdataImage>> GetImage() async { apiURL = '*****************.php'; var response = await http.post(Uri.parse(apiURL)); if (response.statusCode == 200) { final items = json.decode(response.body).cast<Map<String, dynamic>>(); List<FlowerdataImage> listOfFruits = items.map<FlowerdataImage>((json) { return FlowerdataImage.fromJson(json); }).toList(); return listOfFruits; throw Exception('Failed to load data from Server.'); } } @override Widget build(BuildContext context) { return new Scaffold( body: Form( child: new Center( child: ListView( children: <Widget>[ Card( child: new Column( children: <Widget>[ Container( child: Center( child: Column( children: <Widget>[ SingleChildScrollView( child: SizedBox( child: Column( children: <Widget>[ Padding( padding: EdgeInsets.only(right: 8.0, top: 8.0, ), child: SizedBox( height: 140, child: Row( children: [ Expanded( child: Container( child: ListView.builder( itemCount: filteredUsers.length, scrollDirection: Axis.horizontal, itemBuilder: (BuildContextcontext, int index) { return InkWell( child: Padding( padding: EdgeInsets.only(top: 8.0, bottom: 8.0, left: 8.0, right: 8.0), child: Container( height: 140, width: 140, child: ClipRRect( borderRadius: BorderRadius.circular(8), child: AspectRatio( aspectRatio: 1.2, child: Image.network( filteredUsers[index].ImageURL.toString(), width: double.infinity, height: 400, fit: BoxFit.cover, ), ), ))), ); }, ), ), ), Padding( padding: const EdgeInsets.only(left: 10, right: 10), child: Container( width: 50, height: MediaQuery.of( context) .size .height, decoration: BoxDecoration( color: Theme.of(context) .accentColor, borderRadius: BorderRadius .circular(8), ), child: Material( color: CustomColors.Background, borderRadius: BorderRadius .circular(8), child: InkWell( borderRadius: BorderRadius .circular( 8), child: Icon( Icons.add_a_photo, color: Theme.of(context).floatingActionButtonTheme.foregroundColor, ), onTap: () async { PickedFile pickedFile = await picker.getImage(source: ImageSource.gallery, imageQuality: 50); setState(() { if (pickedFile != null) { filteredUsers.add(pickedFile.path); } }); }), )), ) ], ), ), ), ], ), ), ), ], ), ), ), ], ), ), ], ), )), ); } } class FlowerdataImage { int id; String ImageURL; FlowerdataImage({ this.id, this.ImageURL, }); factory FlowerdataImage.fromJson(Map<String, dynamic> json) { return FlowerdataImage( id: json['id'], ImageURL: json['image'].toString(), ); } } 1 اقتباس
1 بلال زيادة نشر 22 مايو 2021 أرسل تقرير نشر 22 مايو 2021 لاحظ أنك تقوم بإضافة نص إلى List FlowerdataImage لذلك هل يمكنك تغيير List<FlowerdataImage> filteredUsers = List(); إلى List<FlowerdataImage> filteredUsers = []; أيضا يمكنك تعريف متغير من نوع File File _image; ومن ثم إضافة المسار إلى هذا المتغير _image = File(pickedFile.path); وعند الأستداعاء يمكنك استخدام Image.file(_image) هل ممكن تشرح لي هذا اقتباس ما احاول فعله هو مشاهدة الصور التي تاتي من قاعدة البيانات واضافة صور لها من الجهاز في القائمة بدون عمل حفظ او ما شابه فقط اضافتها في القائمة 1 اقتباس
1 بلال زيادة نشر 22 مايو 2021 أرسل تقرير نشر 22 مايو 2021 بتاريخ 4 دقائق مضت قال مروان مروان3: @بلال زيادة مرحبا اخي بلال ما اقصده انني الان في وقت تشغيل التطبيق انا احصل على الصور من قاعدة البيانات ولكني احاول من خلال الزر الذي اضافته ان ادرج صور اضافيه في ListView ليشاهدها المستخدم وحتى استطيع لاحقا حفظها في قاعدة البيانات من خلال ListView تمام, هل ترفق لي ملفات المشروع كاملاً إذا لم ينجح الحل ؟ 1 اقتباس
1 بلال زيادة نشر 22 مايو 2021 أرسل تقرير نشر 22 مايو 2021 بتاريخ منذ ساعة مضت قال مروان مروان3: مع الاسف لم ينجح الامر اخي نفس المشكله المشكله ان المشروع كامل سيحتاج الى فصل لمشاركته لا أرفقه كما هو 1 اقتباس
0 Flutter Dev نشر 22 مايو 2021 الكاتب أرسل تقرير نشر 22 مايو 2021 @بلال زيادة مرحبا اخي بلال ما اقصده انني الان في وقت تشغيل التطبيق انا احصل على الصور من قاعدة البيانات ولكني احاول من خلال الزر الذي اضافته ان ادرج صور اضافيه في ListView ليشاهدها المستخدم وحتى استطيع لاحقا حفظها في قاعدة البيانات من خلال ListView 1 اقتباس
0 Flutter Dev نشر 22 مايو 2021 الكاتب أرسل تقرير نشر 22 مايو 2021 بتاريخ منذ ساعة مضت قال بلال زيادة: تمام, هل ترفق لي ملفات المشروع كاملاً إذا لم ينجح الحل ؟ مع الاسف لم ينجح الامر اخي نفس المشكله المشكله ان المشروع كامل سيحتاج الى فصل لمشاركته 1 اقتباس
0 Flutter Dev نشر 22 مايو 2021 الكاتب أرسل تقرير نشر 22 مايو 2021 بتاريخ 19 دقائق مضت قال بلال زيادة: لا أرفقه كما هو تسلم اخي ساقوم بمحاولة فصله وتحميلها على استضافه اون لاين للمشاركة الحجم كبير جدا 1 اقتباس
السؤال
Flutter Dev
السلام عليكم روحمة الله وبركاته
تحيه طيبه للجميع
قمت بعمل List View في flutter
لعرض مجموعة من الصور التي تكون متواجده مسابقا على قاعدة البيانات بشكل التالي:
عرض الصور شغال بشكل طبيعي لا توجد مشكله في جلب الصور من قاعدة البيانات . ولكن المشكله في جلب الصور من الجهاز في الكود التالي:
onTap: () async { PickedFile pickedFile = await picker.getImage(source: ImageSource.gallery, imageQuality: 50); setState(() { if (pickedFile != null) { filteredUsers.add(pickedFile.path); } }); }
هنا احاول ان اقوم بتعبئة listview من الجهاز ولكن احصل على الخطاء التالي:
The argument type 'String' can't be assigned to the parameter type 'FlowerdataImage'.
ما احاول فعله هو مشاهدة الصور التي تاتي من قاعدة البيانات واضافة صور لها من الجهاز في القائمة بدون عمل حفظ او ما شابه فقط اضافتها في القائمة
وهذا الكود كامل المستعمل:
6 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.