Tema impostato a livello programmatico.Come ricaricare l'attività da applicare
-
12-11-2019 - |
Domanda
Come posso applicare il tema senza riavviare l'intera app?Se lo faccio con startActivity(getIntent()); finish();
L'attività si chiude e non si riavvia.È possibile riavviare / ricreare semplicemente l'attività per applicare il tema?
Soluzione
è nell'ordine errato.
finish();
intent = new Intent(this, <your_activity>.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
.
Questo è l'ordine corretto.
Il tema può essere impostato prima che venga chiamato super.onCreate(savedInstanceState);
.È necessario distruggere l'attività e crearlo di nuovo e chiamare immediatamente setTheme(THEME);
in OnCreate ()
Altri suggerimenti
Intent i = getBaseContext().getPackageManager().getLaunchIntentForPackage( getBaseContext().getPackageName() );
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
. Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow