اذهب إلى المحتوى

السؤال

نشر

تحيه طيبه للجميع

أحاول ان اضع FutureBuilder  في داخل FutureBuilder  ولكن مع الأسف البيانات لا يتم تحمليها ولا اعلم ما هو السبب 

كود المستعمل كالتالي:

  Future _buildAboutDialog(BuildContext context) {
    return showDialog(
        context: context,
        builder: (context) {
          return StatefulBuilder(
            builder: (context, setState) {
              return AlertDialog(
                title: Text("Title of Dialog"),
                content:   FutureBuilder(
                  future: GetColor(),
                  builder: (context, AsyncSnapshot snapshot) {
                    if (snapshot.hasData) {
                      return Padding(
                        padding: const EdgeInsets.all(5.0),
                        child: ListView.separated(
                            separatorBuilder: (context, index) {
                              return Divider();
                            },
                            scrollDirection: Axis.vertical,
                            shrinkWrap: true,
                            physics: ScrollPhysics(),
                            itemCount: snapshot.data.length,
                            itemBuilder: (context, index) {
                              return Container(
                                  child: Column(
                                      children: <Widget>[
                                        GestureDetector(
                                          child: ListTile(
                                              leading:
                                              ClipOval(
                                                child: CachedNetworkImage(
                                           
                                                  imageUrl:
                                                  "${snapshot
                                                      .data[index]['ColorImage']}",

                                                  errorWidget:
                                                      (context, url,
                                                      error) =>
                                                      Icon(Icons
                                                          .error),
                                                ),
                                              ),
                                             
                                              trailing: Icon(
                                                Icons
                                                    .keyboard_arrow_left_sharp,
                                              )),
                                          onTap: () =>
                                          {


                                          

                                          },
                                        ),

                               
                                      ]));
                            }),
                      );
                    } else if (snapshot.hasError) {

                      return Center(
                          child:Text(''));

                    }

                    // By default, show a loading spinner.
                    return showicon? SizedBox(
                      height: MediaQuery.of(context).size.height / 1.3,
                      child: Center(
                        child: CircularProgressIndicator(
                          valueColor:
                          new AlwaysStoppedAnimation<Color>(Colors.black),
                        ),
                      ),
                    ):Center(
                        child: SizedBox(
                          height: MediaQuery.of(context).size.height / 1.3,
                          child: Text('');
                        ));


                  },
                ),
                actions: <Widget>[
                  TextButton(
                    onPressed: () => Navigator.pop(context),
                    child: Text("Cancel"),
                  ),
                  TextButton(
                    onPressed: () {
                      setState(() {
                     //   contentText = "Changed Content of Dialog";
                      });
                    },
                    child: Text("Change"),
                  ),
                ],
              );
            },
          );
        },
      );

  }

 قمت بوضعه في زر ولكن ما يحدث هو ان AlertDialog  يفتح ولكن FutureBuilder  لا يعمل

هل يعلم احد طريقة حل ذلك؟

Recommended Posts

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...