Eu tenho uma atividade que estende ActionBarActivity(estendido para poder exibir a barra de ação no meu listFragment). Eu estou tentando definir o tema usando setTheme () assim dentro do método OnCreate () da minha atividade:
setTheme(R.style.AppTheme);
setContentView(R.layout.holder);
No entanto, recebo esta mensagem de erro:
java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
Quando, na verdade, o estilo que estou usando como argumento para setTheme () já tem um pai como tema Theme.AppCompat:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="background">@color/GhostWhite</item>
</style>
Qualquer resposta é apreciada.
Respostas:
0 para resposta № 1Faça um objeto de tema e aplique diretamente usando setTo (theme) como a seguir.
Theme theme;
theme.setTo(other theme which you want to apply);
0 para resposta № 2
Descobri meu problema:
Eu estava inicialmente tirando o atributo de tema na tag do aplicativo no manifesto.
Definir um tema amplo de aplicativo em seuA tag de aplicativo de manifesto parece ser necessária para que o setTheme () funcione corretamente. Em seguida, você pode substituir o tema amplo do aplicativo por setTheme () em cada atividade.