سؤال

لقد أنشأت 3 شظايا وهي (Fragmenta، Fragmentb، FragmentC) وسماع واحد. يوجد زر في كل جزء يستبدل نفسه مع جزء التالي حتى Fragmentc.

أنا استبدال fragmenta (مع) fragmentb (ثم مع) fragmentc.

يستخدم

المعاملة من Fragmenta إلى FragmentB الوظيفة أدناه

giveacodicetagpre.

المعاملة من fragmentb إلى fragmentc تستخدم وظيفة أدناه

giveacodicetagpre. مشكلة

هي عندما أضغط على الزر الخلفي من Fragmentc و Fragmentc و Fragmenta مع بعضها البعض.

على النحو التالي

هل كانت مفيدة؟

المحلول

تحتاج إلى إضافة جزء C إلى Backstack أيضا إذا كنت تريد أن تذهب إلى جزء B على الضغط الخلفي من هنا.

لذلك اتصل أدناه figrment c كذلك.

giveacodicetagpre.

تحرير - تغيير الطريقة الحالية التي تستخدمها للذهاب من B إلى C،

giveacodicetagpre.

نصائح أخرى

كان لدي نفس المشكلة و هذه الإجابة Budius ساعدني كثيرا.

يمكنك حل مشكلتك بالطريقة التالية:

1) إنشاء مثيل للمستمع التالي (عليك الاحتفاظ بمثيل Fragmentc)، وبما أن Fragmenta هو الجزء الوحيد الذي تمت إضافته إلى الخلفية، عندما يضغط المستخدم على الزر الخلفي، سيكون عدد المعاملات في الخلفيةصفر

giveacodicetagpre.

2) أضف المستمع في "المعايير" عند بدء الأخير

giveacodicetagpre.

3) قم بإزالة المستمع عند إيقاف النشاط

لماذا لا تجعل نشاط شظية مع تخطيط إطار يمكنك استبدال هذا الإطار بأي شظية ..

giveacodicetagpre.

الآن من أي شاشة شظية، يمكنك استدعاء هذه الوظيفة لاستبدال شظيتك مع أخرى ..

giveacodicetagpre.

من مجموعتك فقط اتصل

giveacodicetagpre.

تخطيط نشاط الشظية ..

giveacodicetagpre.

فقط لا تضيف الجزء B إلى الخلف كومة حتى تتمكن من القدوم من C-> A مباشرة.

25 مكتبة دعم

على سبيل المثال إذا كان لديك

giveacodicetagpre.

لاستعادة جزء فقط اتصل فقط

giveacodicetagpre.

0 - هو معرف إدخال الخلفية لإعادة التراجع

أو

giveacodicetagpre.

fragmentmanager.pop_back_stack_inclusive، فهذا يعني أنك تريد أيضا إزالة معرف المرفأ

أيضا يمكنك الاتصال

giveacodicetagpre.

"stack_name" هو اسم الخلفية للعودة

على سبيل المثال

giveacodicetagpre.

إذا كنت ترغب في العودة إلى جزء ب فقط اتصل

giveacodicetagpre.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top