TabItem und weitere Componenten dazu tun

  • Antworten:8
  • Bentwortet
Robbiani Renato
  • Forum-Beiträge: 609

26.05.2019, 18:42:48 via Website

Hallo zusammen

Ich möchte in meinem App mehrer Tabs haben.

image

Im Layouteditor kann ich ein TabLayout und mehrere TabItem hinzufügen. Nun möchte ich den einzelnen TabItem auch einen Inhalt geben, in dem ich Komponenten Platziere. Dies geht im Layouteditor nicht. Ist das so, dass man im TabLayout weitere Komponenten nur zur Laufzeit hinzufühgen kann?

Gruss Renato

Kommentieren
Beste Antwort
Jokel
  • Forum-Beiträge: 1.530

26.05.2019, 20:35:45 via Website

Also das im Layoutdesigner ist ja nur das Layout mehr nicht.

Der Inhalt wie du es nennst sind Fragments wiederum mit Layouts und einer Fragment Klasse.

Das Layout mit dem Tab Layout ist dann meist nur noch der Container für die Fragments.
Deine Fragments kannst du selber laden oder du benutzt den ViewPager um auch die wisch Funktion zu haben.
Suche mal im Netz da gibt es viele Tutorials. Mit und auch ohne ViewPager. Das Ganze ist etwas mehr aufwand als du wahrscheinlich bis jetzt annimmt.
Dies hier zu erklären übersteigt etwas den Rahmen des Forums.

https://abhiandroid.com/materialdesign/tablayout-example-android-studio.html

— geändert am 26.05.2019, 21:33:21

Hilfreich?
Robbiani Renato
Kommentieren
Robbiani Renato
  • Forum-Beiträge: 609

26.05.2019, 21:55:48 via Website

Ciao Jokel

Herzlichen Dank für die Hilfe.
Ja, da muss ich mich ein bischen einlesen. Mal schauen ob ich es hinkriege.

Gruss Renato

Hilfreich?
Kommentieren
Robbiani Renato
  • Forum-Beiträge: 609

27.05.2019, 10:00:15 via Website

Ciao Jokel

Ich habe mir das Tutorial angeschaut. Aber eines verstehe ich nicht.
Wenn ich ein TabLayout im Layouteditor verwende werden mir TabItems angeboten. Im Tutorial werden die aber nie verwendet. Wo zu sind diese denn da?

Gruss Renato

Hilfreich?
Kommentieren
Robbiani Renato
  • Forum-Beiträge: 609

27.05.2019, 20:35:32 via Website

Hallo zusammen

TabItem sind nur Dummys und stehen stellvertretend für die Seiten.

Gruss Renato

Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.530

27.05.2019, 21:43:24 via Website

Ja richtig erkannt . in dem Beispiel wird das glaube im Code gesetzt habe es mir nicht so genau angesehen.
sollte nur ein Beispiel sein und keine Entlösung.

es gibt viele Varianten das ist eben eine. Ob es das richtige für dich ist musst du entscheiden . lese dich etwas genauer ein .

— geändert am 29.05.2019, 15:49:43

Hilfreich?
Kommentieren
Robbiani Renato
  • Forum-Beiträge: 609

29.05.2019, 11:17:14 via Website

Danke Jokel für dein Link auf das Beispiel. Es ist einfach nach zu bauen. Ich habe jedoch zwei änderungen vorgenommen.
Um den Designer zu importieren ist diese Lösung fast besser und einfacher:

Adding Design Support to our Project

Die Methode "setOnTabSelectedListener" habe ich durch "addOnTabSelectedListener" ersetzt. Denn Rest habe ich aus dem Beispiel übernommen.

Gruss Renato

Hilfreich?
Kommentieren
Robbiani Renato
  • Forum-Beiträge: 609

29.05.2019, 11:19:46 via Website

Was ich noch vergessen habe. Die TabItem werden am Schluss nicht benötigt. Die habe ich wieder gelöscht.

Hilfreich?
Kommentieren
Robbiani Renato
  • Forum-Beiträge: 609

29.05.2019, 21:54:48 via Website

Eines muss ich noch ergänzen. Denn da habe ich lange daran rum gemacht.
Wenn das ganze funktionieren soll dann muss in der MainAtivity in der Klassendeklaration folgendes stehen:

public class Main extends AppCompatActivity
implements frag_sonne.OnFragmentInteractionListener,
    frag_astro.OnFragmentInteractionListener,
    frag_mond.OnFragmentInteractionListener{

Wichtig ist die Methode OnFragmentInteractionListener. Ohne dem geht nichts.

Gruss Renato

Hilfreich?
Kommentieren