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

السؤال

Recommended Posts

  • 0
نشر
بتاريخ 3 ساعات قال Mohammmed Mahmoud:

الكود 


import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.dart';

import '../auth/log_in_page.dart';
import 'Add_Note_page.dart';

class main_home extends StatefulWidget {
  const main_home({Key? key}) : super(key: key);

  @override
  State<main_home> createState() => _main_homeState();
}

class _main_homeState extends State<main_home> {
  var users_ref =   FirebaseFirestore.instance.collection("notes") ;
  List users_data = [];
  get_data()async{
    var loop_to = await users_ref.where("userid" , isEqualTo: FirebaseAuth.instance.currentUser!.uid).get();
    loop_to.docs.forEach((element) {
      setState(() {
        users_data.add(element.data());
      });
    }) ;
  }

  @override
  void initState() {
      get_data();
    // TODO: implement initState
    super.initState();
  }
  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: Text("Your Notes"),
          centerTitle: true ,
          backgroundColor: Colors.black,
          actions: [
            IconButton(onPressed: ()async{
              await FirebaseAuth.instance.signOut();
              Navigator.pushReplacement(context,
                  MaterialPageRoute(builder: (context){ return log_in();} )) ;
            }, icon: Icon(Icons.output , color: Colors.red[900],))
          ],
        ),
        body:Container(
            child : Column(
                children : [
                  Expanded(

                    child: ListView.builder(
                      itemBuilder:
                            (context , i){
                          return  Card(
                              elevation: 0.0,
                              shape: OutlineInputBorder(
                                borderSide: BorderSide(color: Colors.black , width: 2.0),
                                borderRadius: BorderRadius.circular(0.0),
                              ),
                              child: Column(
                                  children: [
                                    ListTile(
                                      title:  Text("${users_data[i]['title']}" , style: TextStyle(color: Colors.black),maxLines: 2 , overflow:TextOverflow.ellipsis),
                                      trailing: Row(
                                        mainAxisSize: MainAxisSize.min,
                                        children: [
                                          IconButton(
                                            onPressed: (){},
                                            icon: Icon(Icons.edit_road_outlined , color: Colors.black,),
                                          ),  IconButton(
                                            onPressed: (){},
                                            icon: Icon(Icons.delete , color: Colors.red[700],),
                                          ),
                                        ],
                                      ),
                                    ),
                                    Container(
                                      child:ClipRRect(child : Image.network("https://www.timeforkids.com/wp-content/uploads/2019/09/final-cover-forest.jpg" , fit: BoxFit.cover,),
                                          borderRadius: BorderRadius.circular(10)),
                                      width: 300.0,
                                      height: 100.0,
                                      padding: EdgeInsets.symmetric(vertical: 10.0),
                                    )
                                  ]
                              )

                          );
                        }
                      ,
                      physics: BouncingScrollPhysics(),
                      itemCount: users_data.length,
                    ),
                  ),
                  Container(
                    width: double.infinity,
                    color: Colors.black,
                    child: MaterialButton(
                      color: Colors.black,
                      child: Text("Add Note +" , style: TextStyle(color: Colors.white),),
                      onPressed: (){
                        Navigator.push(context,
                            MaterialPageRoute(
                                builder: (context){
                                  return  add_note() ;
                                } ));
                      },
                    ),)
                ]
            )
        )

    );
  }
}

 

فقط استخدم streamBuilder

  • 0
نشر
بتاريخ 19 ساعات قال Mohammmed Mahmoud:

السلام عليكم انا اوجه مشكله في تحديث واجهة المشتخدم انا في برنامجي كلما اضيف (ملاحظه) لا تظهر مباشره في التطبيق بل يجب علي ان اقوم بأطفاء  البرنامج و تشغيله ما الحل و شكرا

sasasasassas.png

الكود 

import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.dart';

import '../auth/log_in_page.dart';
import 'Add_Note_page.dart';

class main_home extends StatefulWidget {
  const main_home({Key? key}) : super(key: key);

  @override
  State<main_home> createState() => _main_homeState();
}

class _main_homeState extends State<main_home> {
  var users_ref =   FirebaseFirestore.instance.collection("notes") ;
  List users_data = [];
  get_data()async{
    var loop_to = await users_ref.where("userid" , isEqualTo: FirebaseAuth.instance.currentUser!.uid).get();
    loop_to.docs.forEach((element) {
      setState(() {
        users_data.add(element.data());
      });
    }) ;
  }

  @override
  void initState() {
      get_data();
    // TODO: implement initState
    super.initState();
  }
  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: Text("Your Notes"),
          centerTitle: true ,
          backgroundColor: Colors.black,
          actions: [
            IconButton(onPressed: ()async{
              await FirebaseAuth.instance.signOut();
              Navigator.pushReplacement(context,
                  MaterialPageRoute(builder: (context){ return log_in();} )) ;
            }, icon: Icon(Icons.output , color: Colors.red[900],))
          ],
        ),
        body:Container(
            child : Column(
                children : [
                  Expanded(

                    child: ListView.builder(
                      itemBuilder:
                            (context , i){
                          return  Card(
                              elevation: 0.0,
                              shape: OutlineInputBorder(
                                borderSide: BorderSide(color: Colors.black , width: 2.0),
                                borderRadius: BorderRadius.circular(0.0),
                              ),
                              child: Column(
                                  children: [
                                    ListTile(
                                      title:  Text("${users_data[i]['title']}" , style: TextStyle(color: Colors.black),maxLines: 2 , overflow:TextOverflow.ellipsis),
                                      trailing: Row(
                                        mainAxisSize: MainAxisSize.min,
                                        children: [
                                          IconButton(
                                            onPressed: (){},
                                            icon: Icon(Icons.edit_road_outlined , color: Colors.black,),
                                          ),  IconButton(
                                            onPressed: (){},
                                            icon: Icon(Icons.delete , color: Colors.red[700],),
                                          ),
                                        ],
                                      ),
                                    ),
                                    Container(
                                      child:ClipRRect(child : Image.network("https://www.timeforkids.com/wp-content/uploads/2019/09/final-cover-forest.jpg" , fit: BoxFit.cover,),
                                          borderRadius: BorderRadius.circular(10)),
                                      width: 300.0,
                                      height: 100.0,
                                      padding: EdgeInsets.symmetric(vertical: 10.0),
                                    )
                                  ]
                              )

                          );
                        }
                      ,
                      physics: BouncingScrollPhysics(),
                      itemCount: users_data.length,
                    ),
                  ),
                  Container(
                    width: double.infinity,
                    color: Colors.black,
                    child: MaterialButton(
                      color: Colors.black,
                      child: Text("Add Note +" , style: TextStyle(color: Colors.white),),
                      onPressed: (){
                        Navigator.push(context,
                            MaterialPageRoute(
                                builder: (context){
                                  return  add_note() ;
                                } ));
                      },
                    ),)
                ]
            )
        )

    );
  }
}

 

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...