Тема устанавливается программно. Как перезагрузить Activity, чтобы подать заявку

Как я могу применить тему без перезапуска всего приложения? Если я сделаю это с помощью startActivity(getIntent()); finish();, действие завершится и не перезапустится. Можно ли просто перезапустить/воссоздать действие, чтобы применить тему?


person Leandros    schedule 25.02.2012    source источник


Ответы (1)


Это в неправильном порядке.

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

Это правильный порядок.

Тема может быть установлена ​​до вызова super.onCreate(savedInstanceState);. Вам нужно уничтожить действие и создать его снова и немедленно вызвать setTheme(THEME); в onCreate()

person Dante    schedule 10.03.2012
comment
У вас есть ответ по этому вопросу? stackoverflow .com/questions/9686912/ - person Leandros; 13.03.2012