Ich habe eine Aktivität mit einer benutzerdefinierten Fußzeile mit 4 Schaltflächen erstellt.Wie wird mit Fragmenten umgegangen, die in Android neu geladen werden?
-Code für Fußzeilentasten onClick:
@Override
public void onClick(View v)
{
try
{
switch (v.getId())
{
case R.id.button1:
getSupportFragmentManager()
.beginTransaction()
.addToBackStack(null)
.replace(R.id.flcontent,Tab1)
.commit();
break;
case R.id.button2:
getSupportFragmentManager()
.beginTransaction()
.addToBackStack(null)
.replace(R.id.flcontent,Tab2)
.commit();
break;
case R.id.button3:
getSupportFragmentManager()
.beginTransaction()
.addToBackStack(null)
.replace(R.id.flcontent, Tab3)
.commit();
break;
case R.id.button4:
getSupportFragmentManager()
.beginTransaction()
.addToBackStack(null)
.replace(R.id.flcontent, Tab4)
.commit();
break;
}
} catch (Exception e)
{
e.printStackTrace();
}
}
Im onCreate Methode von Tabs, mache ich einen Aufruf an den Server, eine Liste zu holen. Verschiedene Registerkarten haben unterschiedliche Anforderungen.
Wenn ich auf Taste 2, Tab2 Lasten und so weiter, bis Button4, Tab4
Zum Beispiel, wenn ich navigieren von Tab1 zu Tab2: Wenn ich Button2 klicken, wird Tab1 ersetzt durch Tab2 und eine neue Liste wird geladen . Wenn ich auf Button1 zurück klicke, Wie verhindere ich, den Server in Tab1 erneut aufzurufen?
machen Sie eine statische Variable zu verfolgen, dass, wenn Sie Server aufgerufen haben, dann werden Sie es nicht erneut aufrufen –