Question

Comment puis-je appliquer le thème sans redémarrer l'ensemble de l'application? Si je le fais avec startActivity(getIntent()); finish(); L'activité quitte et ne redémarrez pas. Est-il possible de redémarrer / recréer l'activité pour appliquer le thème?

Était-ce utile?

La solution

C'est dans l'ordre incorrect.

    finish();
    intent = new Intent(this, <your_activity>.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);

C'est l'ordre correct.

Le thème peut être défini avant super.onCreate(savedInstanceState); est appelé. Vous devez détruire l'activité et le créer à nouveau et appeler immédiatement setTheme(THEME); dans onCreate ()

Autres conseils

Intent i = getBaseContext().getPackageManager().getLaunchIntentForPackage( getBaseContext().getPackageName() );
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top