Pergunta

Como posso aplicar o Tema sem reiniciar todo o App?Se eu fizer isso com startActivity(getIntent()); finish(); a atividade é encerrada e não reinicia.É possível simplesmente reiniciar/recriar a Activity para aplicar o tema?

Foi útil?

Solução

Está na ordem incorreta.

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

Esta é a ordem correta.

O tema pode ser definido antes super.onCreate(savedInstanceState); está sendo chamado.Você precisa destruir a atividade e criá-la novamente e ligar imediatamente setTheme(THEME); em onCreate()

Outras dicas

Intent i = getBaseContext().getPackageManager().getLaunchIntentForPackage( getBaseContext().getPackageName() );
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top