سؤال

أنا أكتب تطبيقا بسيطة Android، وأحب سيطرة أفضل على الملاحة / العلاقة بين الأنشطة. لا أريد أن أنشطتي تعمل مثل أنشطة أندرويد ... لا أريدهم تكديسها داخل المهمة. أريد واحد Activity (دعنا نسميها النشاط الرئيسي) أن تكون نقطة الهبوط وتكون دائما في الجزء السفلي من المكدس، وأريد مثيل واحد فقط من نشاطي الثاني (اتصل به الساكنة) أن تكون فوقها في كومة ... سيكون من الجيد إعادة استخدامه كذلك. اعتقدت أنني يمكن أن تحصل على هذا السلوك عن طريق صنع النشاط الرئيسي يكون "الرئيسي" Activity, ، وتعلنهم ك launchMode=singleTop. وبعد هذا لا يعمل على الإطلاق. أقدم التنقل بينهما باستخدام القوائم، لذلك عندما أعود ذهابا وإيابا مجموعة من المرات والخروج من التطبيق، أذهب عبر المكدس بأكمله.

كيف هي أفضل طريقة للحصول على سيطرة رائعة على المهمة Activity كومة؟ أريد النشاط الرئيسي للتراجع دائما من التطبيق، و الساكنة مرة أخرى دائما إلى مثيل واحد من اللاسائي. كذلك، أحب الحصول على Singletop العمل لذلك أود استخدامها onNewIntent بدلا من إنشاء وتدمير في كل مرة. باستخدام البيان وكذلك علم النية لا يعمل فقط. أيه أفكار؟

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

المحلول

حسنا، يمكنك دائما استدعاء فقط "إنهاء ()" ضمن أي نشاط يدعو إلى نشاط آخر بعد مكالمة "التدذير ()". أود بالتأكيد أن ينصح ضد محاولة الاشياء تطبيقا بأكمله إلى فصول نشاط ومحاولة تبديل طرق العرض بناء على ما يفعلونه. إذا كان الأمر مهم لك، فما عليك سوى إغلاق أنشطتك أثناء إطلاقها جديدا (من الواضح أن عدم النشاط، على الرغم من).

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