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

كيفية تدمير الاكتفتي السابق بعد الانتقال منه flutter

مروان مروان4

السؤال

السلام عليكم ورحمة الله وبركاته 

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

اعمل على زر الانتقال وهو يعمل بدون مشاكل ولكن توجد مشكله في حالة دخولي الى اكتفتي 2 من اكتفتي 1 على سبيل المثال يبقى اكتفتي 1 شغال وفي حالته القديمة لو قمت برجوع له من ازار السامسونج الاساسيه رح يعود الاكتفتي السابق قبل عمل اي تغير فيه 

 

كيف ممكن تدمير الاكتفتي بعد الانتقال منه بحيث لا يعود لو قمت بضغط على زر الرجوع الخاصة بسامسونج السفليه

احتاج الى تدمير الاكتفتي بعد الانتقال من خلال الكود التالي

 

في الجافا كنا نستعمل finish ()

  Navigator.push(context, MaterialPageRoute(builder: (context) => MainBasic()),);

ياليت اذا احد معه فكره يفيدنا بها 

تم التعديل في بواسطة مروان مروان4
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1
بتاريخ 13 ساعات قال مروان مروان4:

اهلا اخي قمت باضافة السطر البرمجي الذي اشرت اليه انت فوق السطر الذي قمت بنشره انا في المشاركة السابقه

انا استعمل الامر بعد تغير اللغة اعود الى الصفحة الاساسية ف تصبح الللغة المختارة قد تغيرت ولكن لو كملت العمل على التطبيق ودخلت الى موضوع ثم الى صفحة التعليات مثلا من الموضوع بعد الضغط على زر الرجوع في الاسفل يعود بي التطبيق الى الصفحة الاساسية وليس الى الصفحة التي قد وصلت بها الى التعليقات وكانه يتجاوز صفحة ثم تعود الصفحة الاساسية الى اللغة التي كانت عليه قبل تغير اللغة هذا المشكلة لذلك ارغب بتدمير الصفحات بعد الانتقال منها 

لا أظن أن الحل هو بتدمير أو بحذف الصفحات التي كنت قد  فتحتها . 
أظن أنه عليك  أن  تستخدم الـ  provider ;// فهو يعتبر من طرق ال State management

 و هو مفيد جداً و أساسي في برمجة تطبيقات الفلاتر . 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

مرحبا مروان  . 
يتم تخزين الصفحات داخل stack و يتم التنقل بينها عن طريق ال pop push  في الفلاتر . 
اذا كنت  تريد أن تنتقل الى صفحة و لا تريد أن تعود للصفحات السابقة يجب عليك عمل pop لكل الصفحات المخزنة في ال stack . 
و في الحالة الخاصة بك  ،  قم بتجربة كالتالي 

  • عندما ينتقل المستخدم للصفحة التي تريدها 
  • قم في البداية بتفريغ المصفوفة من جميع الصفحات المخزنة من خلال السطر التالي 
  •   Navigator.pop(context);


     

  • ثم قم بإضافة الصفحة التي تريدها الى الstack  من خلال الأمر push 

شكراً لك 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 3 دقائق مضت قال ماجد قطوسة:

مرحبا مروان  . 
يتم تخزين الصفحات داخل stack و يتم التنقل بينها عن طريق ال pop push  في الفلاتر . 
اذا كنت  تريد أن تنتقل الى صفحة و لا تريد أن تعود للصفحات السابقة يجب عليك عمل pop لكل الصفحات المخزنة في ال stack . 
و في الحالة الخاصة بك  ،  قم بتجربة كالتالي 

  • عندما ينتقل المستخدم للصفحة التي تريدها 
  • قم في البداية بتفريغ المصفوفة من جميع الصفحات المخزنة من خلال السطر التالي 
  • 
      Navigator.pop(context);


     

  • ثم قم بإضافة الصفحة التي تريدها الى الstack  من خلال الأمر push 

شكراً لك 

اهلا اخي قمت باضافة السطر البرمجي الذي اشرت اليه انت فوق السطر الذي قمت بنشره انا في المشاركة السابقه

 

انا استعمل الامر بعد تغير اللغة اعود الى الصفحة الاساسية ف تصبح الللغة المختارة قد تغيرت ولكن لو كملت العمل على التطبيق ودخلت الى موضوع ثم الى صفحة التعليات مثلا من الموضوع بعد الضغط على زر الرجوع في الاسفل يعود بي التطبيق الى الصفحة الاساسية وليس الى الصفحة التي قد وصلت بها الى التعليقات وكانه يتجاوز صفحة ثم تعود الصفحة الاساسية الى اللغة التي كانت عليه قبل تغير اللغة هذا المشكلة لذلك ارغب بتدمير الصفحات بعد الانتقال منها 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • -1
بتاريخ 1 ساعة قال مروان مروان4:

اهلا اخي قمت باضافة السطر البرمجي الذي اشرت اليه انت فوق السطر الذي قمت بنشره انا في المشاركة السابقه

 

انا استعمل الامر بعد تغير اللغة اعود الى الصفحة الاساسية ف تصبح الللغة المختارة قد تغيرت ولكن لو كملت العمل على التطبيق ودخلت الى موضوع ثم الى صفحة التعليات مثلا من الموضوع بعد الضغط على زر الرجوع في الاسفل يعود بي التطبيق الى الصفحة الاساسية وليس الى الصفحة التي قد وصلت بها الى التعليقات وكانه يتجاوز صفحة ثم تعود الصفحة الاساسية الى اللغة التي كانت عليه قبل تغير اللغة هذا المشكلة لذلك ارغب بتدمير الصفحات بعد الانتقال منها 

في هذه الحالة إستعمل الطريقة التالية ليتم فتح المسار الجديد new route محل المسار الحالي current route لل navigator كمثال:

Navigator.pushReplacement(BuildContext context, Route<T> newRoute)

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...