Ich habe eine TabLayout
mit drei Fragmenten, auf der ersten Registerkarte möchte ich zwischen zwei Fragmenten je nach Bedingung wechseln, ich habe if Anweisung verwendet, aber die Fragmente wechseln nicht, sie behalten nur ihre Anfangsfragment. Das Folgende ist das Fall-Szenario und ein Code-Snippet von dem, was gerade passiert.Reload Aktivität um zwischen den Fragmenten umzuschalten
MY App können Benutzer entscheiden, ob sie bei der ersten Verwendung zu melden sind oder nicht, und meine Haupttätigkeit ist die Trägerrakete, die Haupttätigkeit des Adapters überprüft (a TabLayout
und drei Fragment
enthält), wenn der Benutzer angemeldet ist oder nicht .
if (user != login) {
load fragment A
}else{
load fragment B
}
ich eine Option irgendwo, wo Benutzer anmelden können, während der App verwenden, , wenn der Benutzer auf Login-Button klickt, lädt es ein Bruchstück für Benutzer anmelden, sobald der Benutzer angemeldet ist, noch das Fragment behalten Der Status des Benutzers ist nicht eingeloggt, dh es lädt immer noch Fragment A, aber dann kann ich alle Benutzer-Login-Details in der App sehen.
dieser Punkt ist noch aktiv
if (user != login) {
load fragment A
}
Code Snippet
@Override
public Fragment getItem(int position) {
Fragment f;
switch (position) {
case NEWS_POST:
if(fbid != null){
f = new NewsFragment();
}else{
f = new NewsAllFragment();
}
bitte mehr Details liefern, Ihr Problem ist unvollständig –
ein bisschen mehr Code hinzufügen, den Teil, wo Sie verwenden 'FragmentManager' zu' hinzufügen/replace' die aktuellen erstreckt 'Fragment'. Fügen Sie außerdem Haltepunkte hinzu, an denen Sie 'NewsFragment' und' NewsAllFragment' initialisieren, um zu überprüfen, ob sie tatsächlich aufgerufen werden. – Abbas
Sie sollten einen eingeloggten boolean oder einen Schlüssel in Ihrer Präferenz speichern, um zu überprüfen, ob Sie wissen wollen, ob der Benutzer sich eingeloggt hat oder nicht – Eenvincible