Ich mache eine Android-App für eine Schule.Die Aktivität wiederverwenden, ohne sie neu zu erstellen
1. Aktivität ist von Student die einen ViewPager enthalten besteht aus 3 Fragmenten. Diese Aktivität ist teuer zu laden, da sie 3 Fragmente enthält.
erstes Fragment enthält ein Listview of Games
zweites Fragment enthält ein Listview von Cartoons
3.es Fragment enthält ein Listview von Test (Listview enthält nur Titel von Test).
Jetzt in -Test Fragment onClick auf dem Test (angezeigt in Listenansicht) eine neue ShowTest Aktivität ist offen, welche den kompletten Test angezeigt.
Alles gut funktioniert.
, dass der Code in TestFragment ist ShowTest Aktivität Ich bin (nur Finish
test.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Intent it = new Intent(getActivity(), ShowTest.class);
startActivity(it);
}
});
Und in ShowTest Aktivität lostelefonieren);
public void onBackPressed() {
this.finish();
}
Aber in ShowTest wenn onBackpressed() Schüler genannt wird Aktivität neu erstellt (Alles, was in Fragmente neu laden). Ich möchte nicht, dass diese Aktivität zum zweiten Mal erstellt wird. Wie es teuer ist, zu laden.
Diese beiden Verbindungen hat mir nicht geholfen
Open Info Activity without closing Main Activity
Android - Relaunching an activity without having to re-create it
Ihre Hilfe geschätzt wird.
Danke (Edited)
hängt davon ab, wie Sie Ihre Aktivität starten und wo der relevante Teil des Codes ist. Zum Beispiel, wenn Sie die Aktivität beenden und die nächste und von dieser zurück zur ersten gehen, dann ist es neu erstellt. Wenn Sie nicht fertig sind, bleibt die Aktivität normalerweise im Hintergrund. Dann ist es wichtig, wo der ganze Code ist .... wenn Sie zum Beispiel alles in onResume() initialisieren, dann wird alles wieder gemacht.Sie müssen unbedingt Activities Lifecycle lesen: https: //developer.android.com/guide/components/activities/activity-lifecycle.html – Opiatefuchs
Es gibt keine Möglichkeit, dies sicherzustellen. Wenn Android Speicherprobleme erkennt, werden Aktivitäten, die nicht im Vordergrund sind, geschlossen und bei Bedarf später erneut erstellt. Es gibt keine Möglichkeit, dieses Verhalten zu überschreiben (in der Tat ist die einzige Möglichkeit, es für Testzwecke immer einzuschalten). –
Geben Sie den Code ein, mit dem Sie ShowTestActivity, Ihre onBackPressed() - Methode und jeden anderen relevanten Code starten. –