Anzahl Tabs im Adapter

  • Antworten:3
  • Bentwortet
  • Forum-Beiträge: 487

30.10.2021, 12:38:10 via Website

Hallo zusammen

Ich habe drei Fragmente welche ich abwechslungsweise über Tabs darstelle. Die Steuerung mache ich über einen Adapter.

package ch.robbisoft.klassennotfall

import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import androidx.lifecycle.Lifecycle
import androidx.viewpager2.adapter.FragmentStateAdapter

class MyAdapter(fragmentManager: FragmentManager, lifecycle: Lifecycle) : FragmentStateAdapter(fragmentManager, lifecycle){

override fun getItemCount(): Int {
    return 3
}

override fun createFragment(position: Int): Fragment {
    return when (position) {
        0 -> {
            FragKlasseA()
        }
        1 -> {
            FragKlasseB()
        }
        2 -> {
            FragKlasseC()
        }
        else -> FragKlasseA()
        }
    }

}

Es funktioniert ohne Probleme. Doch eines stört mich gewaltig. Die Anzahl der Tabs ist fix im Code:

override fun getItemCount(): Int {
    return 3
}

Hat Jemand eine Idee wie ich die fixe Anzahl 3 durch anderen Code ersetzten kann?

Gruss Renato

Kommentieren
Beste Antwort
  • Forum-Beiträge: 11.239

31.10.2021, 16:02:00 via Website

Klar musst du diese in irgend einer form melden, woher soll denn sonst die Information kommen ob du 1,2, oder 22 Tabs haben willst. Das musst du schon angeben, dies kann ja aber variabel sein.

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Kommentieren
  • Forum-Beiträge: 11.239

30.10.2021, 22:27:31 via Website

Statt return 3 kannst du natürlich auch eine variable zurückgeben, die einen entsprechenden Wert hat.
Das ist ja standard.

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Kommentieren
  • Forum-Beiträge: 487

31.10.2021, 10:48:42 via Website

Ciao Pascal

Also dann bleibt mir nichts anderes, als dass ich meinem Adapter die Anzahl meiner Tabs melde. Selber findet er es nicht.

Gruss Renato

Hilfreich?
Kommentieren
Beste Antwort
  • Forum-Beiträge: 11.239

31.10.2021, 16:02:00 via Website

Klar musst du diese in irgend einer form melden, woher soll denn sonst die Information kommen ob du 1,2, oder 22 Tabs haben willst. Das musst du schon angeben, dies kann ja aber variabel sein.

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Kommentieren