Heim  >  Fragen und Antworten  >  Hauptteil

android - Gibt es außer popBackStack() noch eine andere Möglichkeit, Fragment zu schließen?

Gibt es neben popBackStack() 以及popBackStackImmediate() noch eine andere Möglichkeit, das Schließen des Fragments im Manager anzugeben?

Ich habe fragment zum Verwalten der Schnittstelle verwendet und bin auf ein Problem gestoßen
Ich habe Schnittstelle B von Schnittstelle A geöffnet und dann habe Schnittstelle B Schnittstelle C geöffnet. Zu diesem Zeitpunkt muss ich direkt von Schnittstelle C zu Schnittstelle A zurückkehren,

Am Anfang habe ich es versucht popBackStack() beim Öffnen der Schnittstelle C, aber es wurde eine Ausnahme ausgelöst

. . Beim Tippen kam mir plötzlich der Gedanke, dass ich popBackStack(A's Tag, 0) verwenden könnte, um B und C direkt zu entfernen. Aber ich möchte trotzdem fragen, ob es andere Möglichkeiten gibt, sie zu verwalten?

Ich möchte auch fragenpopBackStackImmediate() Ist es möglich, dass es nicht ausgeführt wird?

 manager.popBackStackImmediate(tag, 1);//不会被执行?

 manager.popBackStack(tag, 1);    //会被执行?
滿天的星座滿天的星座2683 Tage vor666

Antworte allen(2)Ich werde antworten

  • 天蓬老师

    天蓬老师2017-05-16 13:37:12

    题主没有认真读API文档, 读文档前, 装好Google翻译

    popBackStack()这样的函数都是跟后退栈有关的调用, Fragment可以不需要push到后退栈里, 如果需要响应回退的按键, 那就需要管理Fragment的后退栈.

    可以参考如下几个类是如何管理Fragment的:

    • FragmentPagerAdapter

    • FragmentStatePagerAdapter

    Antwort
    0
  • 迷茫

    迷茫2017-05-16 13:37:12

    如果在activity,你可以使用add show hide等一系列getSupportFragmentManager提供的方法了来来管理你的frgament

    Antwort
    0
  • StornierenAntwort