Fragment über/in ViewPager anzeigen

  • Antworten:9
Gelöschter Account
  • Forum-Beiträge: 2.492

25.08.2015, 16:35:16 via Website

Hallo,

ich habe in meiner App zwei "Kategorien". Jede hat ihr eigenes Fragment. Ich habe außerdem einen ViewPager mit einem TabLayout. Durch swipen (oder klicken des jeweiligen Tabs) kann nun zwischen den beiden Kategorien/Fragments hergeschaltet werden.
Jetzt möchte ich jedoch, dass zum Beispiel nach Klick auf ein Button in der ToolBar oder sonst irgendwo ein neues Fragment erscheint und zwar über dem Fragment, dass der ViewPager anzeigt (es also quasi verdeckt), jedoch bei einem Klick auf den Zurück Button soll wieder das Fragment des ViewPagers angezeigt werden.

Ich hab es bisher ganz normal mit
beginTransaction.add(R.id.viewpagerid, neuesFragment).commit())
(oder replace(), oder show()) versucht, jedoch passiert da gar nichts und der ViewPager ist immer noch komplett sichtbar.

Hat jemand eine Idee, wie ich das machen kann, oder ist das mit einem ViewPager gar nicht möglich und muss ich da was anderes nutzen?

Antworten
Sven R.
  • Forum-Beiträge: 1.904

26.08.2015, 07:05:03 via App

So würde ich das auch machen. Wir denn die onCreate oder eine Variante davon im Fragment aufgerufen? Hat das Fragment ein Layout?

Wenn dir mein Beitrag gefällt, kannst dich einfach mit dem 👍 "Danke"-Button auf der Website dieses Forums bedanken. 😀

Why Java? - Because I can't C#

Antworten
Gelöschter Account
  • Forum-Beiträge: 2.492

26.08.2015, 07:58:40 via App

Doch onCreate bzw onCreateView wird beides aufgerufen und in oncreateview habe ich inflate(r.Layout.Fragment, Container, false)

— geändert am 26.08.2015, 08:02:21

Antworten
Gelöschter Account
  • Forum-Beiträge: 2.492

26.08.2015, 09:23:58 via App

Hab es jetzt gelöst indem ich in der XML über dem viewpager ein relative Layout gepackt habe und mein neues Fragment auf dieses Layout gesetzt habe.

— geändert am 26.08.2015, 09:24:06

Antworten
Sven R.
  • Forum-Beiträge: 1.904

26.08.2015, 09:34:23 via App

Hm, ist aber komisch, dass es anders nicht funktioniert. Du könntest noch das RelativeLayout mit einem FrameLayout ersetzen, das sollte "lighter" sein. Du benutzt ja keine RelativLayout spezifischen Attribute.

Wenn dir mein Beitrag gefällt, kannst dich einfach mit dem 👍 "Danke"-Button auf der Website dieses Forums bedanken. 😀

Why Java? - Because I can't C#

Antworten
Gelöschter Account
  • Forum-Beiträge: 2.492

26.08.2015, 16:43:54 via App

Ich hab in dem relative Layout auch noch das tablayout dann geht das doch nicht oder?

Antworten
Sven R.
  • Forum-Beiträge: 1.904

26.08.2015, 17:37:26 via App

Ach das TabLayout hab ich ganz vergessen, weil ich nur noch im Kopf hatte, den ViewPager zu ersetzen, oder auf ihn drauf zu adden. Ja, dann lass das RelativeLayout.
Edit: Du könntest es wahrscheinlich mit einem LinearLayout ersetzen. Bei zwei Children ist das schneller und performanter.

— geändert am 26.08.2015, 17:45:33

Wenn dir mein Beitrag gefällt, kannst dich einfach mit dem 👍 "Danke"-Button auf der Website dieses Forums bedanken. 😀

Why Java? - Because I can't C#

Antworten
Gelöschter Account
  • Forum-Beiträge: 2.492

26.08.2015, 20:20:49 via App

Mit nem linearlayout hat es komischerweise nicht funktioniert.

Antworten
Sven R.
  • Forum-Beiträge: 1.904

26.08.2015, 20:40:10 via App

Lol, es wird ja immer komischer. Keine Ahnung was da los ist 😂😂😂

Wenn dir mein Beitrag gefällt, kannst dich einfach mit dem 👍 "Danke"-Button auf der Website dieses Forums bedanken. 😀

Why Java? - Because I can't C#

Antworten
Gelöschter Account
  • Forum-Beiträge: 2.492

26.08.2015, 21:31:23 via App

Ja das hat mich nämlich auch gewundert dass relative Layout auf einmal funktioniert :D

Antworten