# Android - Setup/Wizard Best Practise



## Daniel55 (26. Apr 2015)

Hallo,

ich schreibe gerade an einer App, in der ich gerne ein kleines Setup/Wizard integrieren würde. Ich würde in diesem gerne 5-6 verschiedene Seiten haben, auf denen jeweils verschiedene Inhalte eingegeben werden können, z.B. über Checkboxes, Editext, Radiobutton etc. Da weitergehen zur nächsten Seite soll per Button möglich sein. Des weiteren würde ich auch gerne eine der Seiten alleinstehen aufzurufen - quasi als Dialog - , sodass diese nicht innerhalb des Setups aufgerufen wird, sondern ausschließlich eine Seite, die auch geschlossen werden kann, falls man etwas spezielles ändern möchte und nicht das gesamte Setup erneut durchlaufen will.

Ich habe bereits fertige Bibliotheken dazu gefunden, allerdings sprechen mir diese nicht voll zu und ich würde gerne selber etwas schreiben. 

Wie setze ich meine Idee am besten um ? Ich habe es bereits mit dem ViewPager probiert, was auch ganz gut geklappt hat, aber ich hatte das Gefühl dies ist eine umständige und unsaubere Lösung.

Mit freundlichen Grüßen,

Daniel


----------



## dzim (27. Apr 2015)

Meine erste spontane Antwort wäre auch ViewPager gewesen, wenn du nicht zu viel Arbeit haben möchtest. Allerdings könnte die Swipe-Funktion des Pagers auch störend sein.
Was übernimmt man am besten? Frgmente, würde ich sagen! Also jede Seite des Wizards sind je ein Fragment. Übergänge könnte man animieren (Suche nach: "animate fragment transition android"). 

Ich würde - wenn ich die Zeit hätte - wohl ein Fragment (WizardFragment) dafür bauen, in dass man Child-Fragments (WizardPageFragment oder so) einbettet, die wiederum die Information darüber festlegen können, ob man sie "fertig" sind, also man "Next" drücken kann, oder nicht...
Das einzig nervige ist, dass du immer noch pro Seite eine Klasse haben musst, um festzustellen, ob man weitergehen kann oder nicht. hier wäre cool, wenn man in Layouts "Skripte" für so Kleinigkeiten hinterlegen könnte (vgl. zu JavaScript in JavaFX-FXML-Dateien).


----------



## Daniel55 (29. Apr 2015)

Vielen Danke für die Antwort, werde es dann mal mit dem Pager und den Fragmenten versuchen, oder ich erstelle für jede Seite eine eigene XML Datei und setze diese auf die jeweilige seite in der onPageChanged Metode. Dann brauche ich zumindest nur eine (große) Klasse. Um zu erkennen, ob man weiter auf die nächste Seite kann, versuche ich auf jeder Seite mal OnclickListener etc. Anzulegen und auszuwerten.

Viele Grüße,
Daniel


----------



## dzim (4. Mai 2015)

Wie gesagt: Ich würde Fragmente verwenden, auch wenn das eben mehrere Klassen bedeutet. So bleibt immerhin jede Klasse für sich relativ sauber und du musst dich nicht auf die Eingaben von anderen UIs registrieren u.s.w. 
Aber mach du mal: Das wird schon


----------

