2017-06-06 6 views
0

Ich habe 2 Registerkarten A und B. Registerkarte A enthält Felder, die vom Benutzer eingegeben werden müssen. Wenn der Benutzer auf die Registerkarte B klickt, rufe ich meine Validierungsroutine in einem "OnTabSelectedListener" auf. Das Problem, das ich habe, ist, wenn ich den Tab-Wechsel stoppen und den Benutzer auf Tab A halten möchte, um die erforderlichen Felder auszufüllen. Gibt es eine Möglichkeit, dies innerhalb des OnTabSelectedListener zu erreichen?Android - Validieren von Feldern vor dem Wechseln der Registerkarten

+0

Willkommen bei SO, Verweise [this] (https://stackoverflow.com/help/how-to-ask), um deine Fragen richtig zu gestalten. Sende deinen Code. – harshavmb

Antwort

0

This question hat Antworten, die zeigt, wie eine Registerkarte auszuwählen programmatisch aber, meiner Meinung nach, sollten Sie die Benutzer-Swipe blockieren und eine Taste legen Tabs zu wechseln und

0

In OnTabSelectedListener Verfahren onTabSelected() validiert wird aufgerufen, wenn Das Ändern der Registerkarte ist bereits erfolgt. Sie können also nur die Benutzereingabe überprüfen und zu der Registerkarte A zurückkehren, wenn die Eingabeüberprüfung fehlgeschlagen ist.

0

Vielen Dank Pavel & Gabriel für die Antwort. Am Ende ging ich ohne View-Pager aus und änderte die Tab-Fragmente manuell mit tab.select() in der onTabSelected-Methode. Dadurch konnte ich eine Validierung durchführen und dann zur ursprünglichen Registerkarte zurückkehren, wenn die Daten nicht korrekt eingegeben wurden. Überraschenderweise gibt es keinen "Flash" auf dem Bildschirm, wenn ich auf die ursprüngliche Registerkarte zurückwechsle. Alles läuft reibungslos. Da ich den Ansichtspager nicht verwenden konnte, fügte ich einen GestureListener hinzu und änderte die Registerkarten Swipe Left & Right.

Verwandte Themen