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?

È stato utile?

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
scroll top