Thema programmatisch festgelegt.So laden Sie die Aktivität neu, um sie anzuwenden
-
12-11-2019 - |
Frage
Wie kann ich das Theme anwenden, ohne die gesamte App neu zu starten?Wenn ich es mit mache startActivity(getIntent()); finish();
Die Aktivität wird beendet und nicht neu gestartet.Ist es möglich, die Aktivität einfach neu zu starten/neu zu erstellen, um das Thema anzuwenden?
Lösung
Es ist in der falschen Reihenfolge.
finish();
intent = new Intent(this, <your_activity>.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
Das ist die richtige Reihenfolge.
Das Thema kann vorher festgelegt werden super.onCreate(savedInstanceState);
wird aufgerufen.Sie müssen die Aktivität zerstören, erneut erstellen und sofort aufrufen setTheme(THEME);
in onCreate()
Andere Tipps
generasacodicetagpre.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow