Você precisa usar um tema Theme.AppCompat (ou descendente) com esta atividade

1004

Android Studio 0.4.5

Documentação do Android para criar caixas de diálogo personalizadas: http://developer.android.com/guide/topics/ui/dialogs.html

Se você quiser uma caixa de diálogo personalizada, poderá exibir uma Atividade como uma caixa de diálogo em vez de usar as APIs da caixa de diálogo. Simplesmente crie uma atividade e defina seu tema como Theme.Holo.Dialog no <activity>elemento manifesto:

<activity android:theme="@android:style/Theme.Holo.Dialog" >

No entanto, quando tentei isso, recebo a seguinte exceção:

java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity

Estou apoiando o seguinte e não posso usar algo maior que 10 para o mínimo:

minSdkVersion 10
targetSdkVersion 19

Nos meus estilos, tenho o seguinte:

<!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

E no meu manifesto eu tenho isso para a atividade:

 <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:theme="@android:style/Theme.Holo.Light.Dialog"
            android:name="com.ssd.register.Dialog_update"
            android:label="@string/title_activity_dialog_update" >
        </activity>

Criar a caixa de diálogo assim era algo que eu esperava fazer, pois já concluí o layout.

Alguém pode me dizer como posso resolver esse problema?

ant2009
fonte
2
@Raghunandan, sou novo nisso, mas, olhando para os meus estilos, tenho o seguinte: <style name = "AppTheme" parent = "Theme.AppCompat.Light.DarkActionBar"> E eu tenho as seguintes importações: import android.support.v7 .app.ActionBarActivity; importar android.support.v7.app.ActionBar; importar android.support.v4.app.Fragment; Mas não tenho certeza do que tudo isso significa.
ant2009
10
Você está usando o AppCompatqual é a biblioteca de suporte para oferecer suporte às barras de ação abaixo do nível 11. da API. Basta usar android:theme="@style/AppTheme" >para a atividade em manifesto
Raghunandan
2
@ ant2009, para esclarecer o que @Raghunandan disse: no seu AndroidManifest.xml, o tema que você está especificando para a sua atividade está substituindo o tema que você está especificando para o seu aplicativo. Remova a android:themelinha da <activity>etiqueta.
cryptocrronoconolite
3
Isso removerá o erro, mas não o levará para onde ele quer estar, que é uma atividade com um tema de diálogo. A regra geral é que, se você deseja que sua atividade tenha uma barra de ação, ela deve ter o tema AppCompat e o código java deve estender o ActionBarActivity. Se você tiver uma atividade que não precise de uma barra de ação (como uma atividade com tema de diálogo), poderá aplicar qualquer tema a ele, mas o código java deve estender a atividade antiga simples.
Bobbake4
1
Eu acho que o único problema nesse caso é o contexto que você fornece para o construtor Dialog. Veja minha resposta. stackoverflow.com/a/51574281/232727
Vitaliy A

Respostas:

1124

O motivo pelo qual você está tendo esse problema é porque a atividade na qual você está tentando aplicar o tema da caixa de diálogo está se estendendo ActionBarActivity que requer que o AppCompattema seja aplicado.

Atualizar : a extensão AppCompatActivitytambém teria esse problema

Nesse caso, altere a herança Java de ActionBarActivitypara Activitye deixe o tema do diálogo no manifesto como ele é, um nãoTheme.AppCompat valor


A regra geral é que, se você deseja que seu código ofereça suporte a versões mais antigas do Android, ele deve ter o AppCompattema e o código java deve se estender AppCompatActivity. Se você possui * uma atividade que não precisa desse suporte, como você se preocupa apenas com as versões e os recursos mais recentes do Android, você pode aplicar qualquer tema a ele, mas o código java deve ser antigoActivity .


NOTA: Quando mudar de AppCompatActivity(ou de uma subclasse ActionBarActivity) para para Activity, também deve alterar as várias chamadas com "suporte" para a chamada correspondente sem "suporte". Então, em vez de getSupportFragmentManagerligar getFragmentManager.

Bobbake4
fonte
6
op está usando appcompat; nesse caso, ele deve estender o ActionBarActivityque é mostrado nas declarações de importação do comentário abaixo do questionário.
Raghunandan
2
@ Cursos Se você está falando sobre quando cria um novo projeto no Android Studio, acho que isso é um bug na configuração padrão.
precisa saber é o seguinte
2
@ Bobbake4, estou tendo o mesmo problema, e esta solução é impossível de funcionar para mim. O problema é que não posso estender o Activity, porque tenho várias classes (projeto inteiro) que transmitem o ActionBarActivity. Existe alguma outra solução para o problema? Thx
5er
6
@ 5er Se o seu Java estiver usando o ActionBarActivity, o tema deverá estender Theme.AppCompat. Existem alguns temas internos que estendem o Theme.AppCompat ou você pode estendê-lo e modificá-lo. Sem remover o pai ActionBarActivity, você não pode usar o Theme.AppCompat.
precisa saber é o seguinte
26
No estilo <style name = "AppTheme" parent = "Theme.AppCompat.Light.DarkActionBar"> isso resolveu meu problema. :)
Harmeet Singh
545

Tudo o que você precisa fazer é adicionar android:theme="@style/Theme.AppCompat.Light"à sua tag do aplicativo no AndroidManifest.xmlarquivo.

iusting
fonte
2
No código, o ant2009 definiu o AppTheme como o aplicativo que se estende a partir de um descendente de Theme.AppCompat. Isso deve funcionar. Eu tive o mesmo problema depois de atualizar para o 5.0 no meu dispositivo e acabei definindo @ style / Theme.AppCompat.Light como o tema da minha atividade. Algo não está bem aqui ...
speedynomads
36
Esta não é uma resposta válida para o Android Studio, embora em alguns casos funcione como uma solução rápida quando estiver ignorando arquivos styles.xml. No Android Studio, a maneira correta de definir o tema é defini-los em arquivos styles.xml, e o arquivo de manifesto do Android se refere apenas a eles e seleciona-os com base na versão do Android que você está executando no seu dispositivo. Normalmente, é definido como android: theme = "@ style / AppTheme" e este AppTheme refere-se a <style name = "Theme.AppTheme" parent = "Theme.AppCompat.Light"> em styles.xml
zeeshan
5
Este realmente não trabalho para mim porque as minhas barras de título desapareceu quando eu usei nada, mas holo ...
AndyD273
1
Também deparei com esse problema usando o SnackBar. Isso resolveu meu problema.
trabalhou
2
@ Martin, se você é como eu, você esqueceu de adicionar o mesmo nome de estilo no arquivo geral styles.xml do que você coloca no arquivo (V21) styles.xml (sem as propriedades específicas da V21). Se você declarar um estilo na pasta V21 e seu dispositivo tiver uma versão abaixo. Não é possível encontrá-lo, portanto uma exceção é acionada.
Letroll #
275

Copiando a resposta do @MarkKeen nos comentários acima, pois tive o mesmo problema.

Tive o erro indicado na parte superior da postagem e ocorreu depois que adicionei uma caixa de diálogo de alerta. Eu tenho todas as informações de estilo relevantes no manifesto. Meu problema foi resolvido alterando uma referência de contexto no construtor de alertas - eu mudei:

new android.support.v7.app.AlertDialog.Builder(getApplicationContext())

para:

new android.support.v7.app.AlertDialog.Builder(this)

E sem mais problemas.

AK
fonte
5
Também aconteceu comigo. Eu estava apenas tentando e sua resposta realmente funcionou! Qual é a lógica para que isso funcione? Eu realmente não entendi.
kirtan403
6
Ou, se você estiver construindo seu AlertDialog em um fragmento, em vez de diretamente em uma Atividade, use em getActivity()vez de thiscomo sugerido acima e o problema foi corrigido. Quanto ao motivo, só posso supor que o código AlertDialog.Builder (xxx) mais antigo queria um tipo diferente, ou era simplesmente menos exigente com o que foi passado, enquanto o atual Builder () realmente quer uma Atividade. Como o Google optou por ocultar (remover?) A documentação do código antigo, presumivelmente em um esforço para incentivar o uso da versão v7.app, não sei como ter certeza.
Anne Gunn
Fez o oposto do que é sugerido. E funcionou: p. Obrigado!
Harisewak 10/09/16
1
Isso resolve o programa para mim, também você usaria em getContext()vez de thisse estiver dentro de uma classe de adaptador ArrayAdapter ou similar.
precisa saber é o seguinte
1
Esta é a solução genuína que eu já encontrei. DICA: mencione a diferença em getApplicationContext () e isso para esse fim.
Prazeev 20/05/19
109

min sdk é 10. ActionBarestá disponível no nível 11. da API. Portanto, para 10 você usariaAppCompat partir da biblioteca de suporte da qual precisa usar Theme.AppCompatou descender da mesma.

Usar

android:theme="@style/Theme.AppCompat" >

Ou se você não quer barra de ação no topo

android:theme="@style/Theme.AppCompat.NoActionBar">

Mais informações @

http://developer.android.com/guide/topics/ui/actionbar.html

Editar:

Eu posso ter lido mal o op post.

Parece que o op quer um diálogo com um tema de atividade. Então, como já sugerido por Bobbake4, estenda em Activityvez de ActionBarActivity.

Veja também @ Atributos de Diálogo no link abaixo

http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.4_r1/frameworks/base/core/res/res/values/themes.xml/

Raghunandan
fonte
Obrigado pela sugestão. Eu tentei isso já na verdade. E eu tenho o mesmo problema. Meu arquivo de estilos fica assim: <style name = "AppTheme" parent = "Theme.AppCompat">
ant2009 16/02/2014
@ ant2009 você não vai. Use um tema da biblioteca de suporte AppCompat para sua atividade
Raghunandan
Não tenho certeza se estou adicionando este tema corretamente. Mas você quer dizer adicionar a seguinte declaração de importação? importar android.support.v7.appcompat. *; No entanto, eu tentei isso e talvez eu esteja errado, pois ainda acabei com a mesma exceção.
Ant2009
@ ant2009 você pode ter uma caixa de diálogo personalizada. Mas você deseja o diálogo em tela cheia?
Raghunandan
Eu não queria tê-lo em tela cheia. Apenas uma caixa de diálogo. No entanto, o problema está resolvido agora. Bobbake4 acertou. Obrigado pelo seu esforço de qualquer maneira, você deu conselhos úteis. No entanto, ainda estou confuso com toda essa biblioteca de suporte e o AppCompat.
Ant2009
99

Se você estiver usando o contexto do aplicativo, assim:

final AlertDialog.Builder builder = new AlertDialog.Builder(getApplicationContext());

altere-o para um contexto de atividade como este:

final AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
Darush
fonte
O mesmo se você estiver usando LayoutInflater.from (<contexto de aplicação>), certifique-se de usar o contexto de atividade ou o LayoutInflater fornecido para que ele herde o tema certo.
Lbarbosa
1
Sua solução me ajudou no meu caso. Você pode explicar qual a diferença entre getApplicationContext () e MainActivity.this?
precisa saber é o seguinte
consulte este link: stackoverflow.com/questions/22966601/…
Darush 19/04
9
você precisa de uma atividade, não um contexto, para diálogos de exibição
behelit
esta solução resolve
Mohamed Amin
45

Eu estava enfrentando esse problema, mesmo que meu tema fosse um AppCompattema e minha atividade fosse um AppCompatActivity(ou Activity, conforme sugerido nas respostas de outras pessoas). Então, eu limpei, reconstruí e execute novamente o projeto.

( Compilar -> Limpar Projeto; Compilar -> Reconstruir Projeto; Executar -> Executar )

Pode parecer idiota, mas agora funciona muito bem !

Só espero que ajude!

Geraldo Neto
fonte
1
Tinha exatamente a mesma mensagem depois de adicionar DialogFragment à atividade AppCompat. Arquivo, invalidar caches / reiniciar corrigiu isso em uma pitada.
halxinate 13/05
2
Eu tentei quase todas as respostas neste tópico. mas apenas essa resposta aparentemente "burra" funciona. obrigado!
Dika
27

Foi isso que o corrigiu: em vez de especificar o tema em manifesto, eu o defini onCreatepara cada atividade que se estende ActionBarActivity:

@Override
protected void onCreate(Bundle savedInstanceState) {
    setTheme(R.style.MyAppTheme);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.my_activity_layout);
...
}

Aqui MyAppThemeestá um descendente de Theme.AppCompate é definido em xml. Observe que o tema deve ser definido antes super.onCreatee setContentView.

k29
fonte
1
A Robolectric está lançando uma NullPointerException na linha setTheme ao tentar carregar o recurso. Alguma idéia do porquê?
Rhys Davis
@RhysDavis Difícil dizer sem rastreamento de pilha, mas talvez ele queira setContentView primeiro? Nesse caso, essa correção não funcionará para você.
k29
19

vá para seus estilos e coloque os pais

parent="Theme.AppCompat"

ao invés de

parent="@android:style/Theme.Holo.Light"
Yamen Nassif
fonte
Por que podemos fazer isso com uma atividade padrão. O Android não colocou barras de ação nas Atividades Padrão com ICS ou Honecomb? Sempre precisamos usar o ActionBarActivity se definirmos nossa meta mínima para SDK ICS?
Andrew S
como ver qual tema que devemos usar com o tipo ou recurso que estamos usando, porque quando nós importamos, temos todos os tipos de temas disponíveis
Blackhawk
16

No meu caso, não tenho nenhum arquivo values-v21 no meu diretório res. Então eu criei e adicionei os seguintes códigos:

  <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>
Ali Gürelli
fonte
Eu estava executando meu projeto em dispositivos Oreo + e somente isso funcionou para mim.
Nishant Soni
16

Mude o tema da atividade desejada. Isso funciona para mim:

<activity
            android:name="HomeActivity"
            android:screenOrientation="landscape"
            android:theme="@style/Theme.AppCompat.Light"
            android:windowSoftInputMode="stateHidden" />
sharma_kunal
fonte
14

Eu tive essa falha em dispositivos Samsung , embora a atividade tenha usado Theme.AppCompat . A causa raiz estava relacionada a otimizações estranhas no lado da Samsung:

- if one activity of your app has theme not inherited from Theme.AppCompat
- and it has also `android:launchMode="singleTask"`
- then all the activities that are launched from it will share the same Theme

Minha solução foi apenas remover android:launchMode="singleTask"

goRGon
fonte
2
Acabei de me deparar com isso também, não validei a correção e não consigo reproduzir o erro. Mas estou vendo esse erro apenas em dispositivos samsung. a maioria parece estar enraizada também, fwiw
danb 13/06/2015
Tive o erro indicado na parte superior da postagem e ocorreu depois que adicionei uma caixa de diálogo de alerta. Eu tenho todas as informações de estilo relevantes no manifesto. Meu problema foi resolvido alterando uma referência de contexto no construtor de alertas - eu mudei: new android.support.v7.app.AlertDialog.Builder (getApplicationContext ()) para: new android.support.v7.app.AlertDialog.Builder (this ) e há mais problemas ...
Mark Keen
Você tem mais detalhes ou links para a Samsung sobre essa otimização? Todas as atividades precisam implementar Theme.AppCompat ou pode haver atividades sem tema?
AAverin 21/04
13

Se você precisar estender o ActionBarActivity, precisará do seu style.xml:

<!-- Base application theme. -->
<style name="AppTheme" parent="AppTheme.Base"/>

<style name="AppTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->

Se você definir como tema principal do seu aplicativo como android: Theme.Material.Light em vez de AppTheme.Base , você receberá um erro "IllegalStateException: você precisa usar um tema Theme.AppCompat (ou descendente) com esta atividade").

JonasOliveira
fonte
13

Apenas faça

new AlertDialog.Builder(this)

Ao invés de

new AlertDialog.Builder(getApplicationContext())
Ali Akram
fonte
Solução de trabalho! 30 minutos para descobrir com esta resposta. Por que estou usando o novo AlertDialog.Builder (getApplicationContext ())?
Erich García
Será útil explicar que tipo é thisesperado.
Blago
12

Eu tive o mesmo problema, mas ele resolveu quando o coloquei no manifesto: android: theme = "@ style / Theme.AppCompat.

    <application
        android:allowBackup="true"
        android:icon="@drawable/icon"
        android:label="@string/app_name_test"
        android:supportsRtl="true"
        android:theme="@style/Theme.AppCompat">

        ...    

    </application>
Marc Baduq
fonte
10

No meu caso, esse problema apareceu quando tentei mostrar a caixa de diálogo. O problema estava no contexto, eu uso getBaseContext () que teoricamente deve retornar o contexto Activity, mas parece que não, ou retorna o contexto antes de qualquer Theme ser aplicado.

Então, substituí getBaseContexts () por " this " e agora funciona como o esperado.

        Dialog.showAlert(this, title, message,....);
Vitaliy A
fonte
Eu estava passando getApplicaitonContext (), mas o seu fez o truque
Jeeva
9

Eu tive uma atividade com tema <android:theme="@android:style/Theme.Dialog">usada para mostrar a caixa de diálogo no meu appWidget e tive o mesmo problema

Eu resolvi esse erro alterando o código de atividade como abaixo:

@Override
protected void onCreate(Bundle savedInstanceState) {
    setTheme(R.style.Theme_AppCompat_Dialog); //this line i added
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_dialog);
}
Elyas Nategh
fonte
2
Essa foi uma resposta direta que funcionou para mim sem toda a complexidade e não resposta da resposta aceita.
Cory Trese
8

para mim foi a solução para usar ContextThemeWrapper:

private FloatingActionButton getFAB() {
Context context = new android.support.v7.view.ContextThemeWrapper(getContext(), R.style.AppTheme);
FloatingActionButton fab = new FloatingActionButton(context);
return fab;}

do Android - Como criar FAB programaticamente?

Pedro
fonte
8

Verifique se você está usando um contexto de atividade ao criar um novo diálogo de alerta e não um aplicativo ou contexto base.

Shivam Dawar
fonte
7

Eu também tive esse problema e o que fiz para corrigi-lo, E ainda usar o tema Holo, foi seguir estas etapas:

primeiro substituí esta importação:

import android.support.v7.app.AppCompatActivity;

com este:

import android.app.Activity;

alterei minha extensão de:

public class MyClass extends AppCompatActivity {//...

para isso:

public class MyClass extends Activity {//...

E também teve que mudar essa importação:

import android.support.v7.app.AlertDialog;

para esta importação:

import android.app.AlertDialog;

e você pode usar sua tag de tema no manifesto no nível da atividade:

android:theme="@android:style/Theme.Holo.Dialog" />

e, por último, (a menos que você tenha outras classes em seu projeto que precisam usar a v7 appCompat), você pode limpar e reconstruir seu projeto ou excluir essa entrada no arquivo gradle build no nível do aplicativo:

compile 'com.android.support:appcompat-v7:23.2.1'

se você tiver outras classes em seu projeto que precisam usar a v7 appCompat, basta limpar e reconstruir o projeto.

Wraithious
fonte
6

Você chegou a esse ponto porque deseja aplicar o Material Design em seu estilo de tema nas versões anteriores do sdk para 21. ActionBarActivityRequer AppThemeisso, se você também deseja impedir sua própria personalização do AppTheme, é necessário alterar o seu styles.xml (anterior para o sdk 21) para que, dessa maneira, possa herdar um tema de compatibilidade de aplicativos.

<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">

por esta:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
danigonlinea
fonte
6
Fiz isso. Ainda tem o problema. Portanto, há mais do que isso.
Martin Martin
6

Mude o pai do estilo do tema para

 parent="Theme.AppCompat"

Isso funcionou para mim ...

Fazal
fonte
6

Você tem muitas soluções para esse erro.

  1. Você deve usar Activity ou FragmentActivity em vez de ActionbarActivity ou AppCompatActivity

  2. Se você deseja usar o ActionbarActivity ou AppCompatActivity , altere styles.xml Theme.Holo.xxxx para Theme.AppCompat.Light (se necessário, adicione DarkActionbar )

Se você não precisa de atributos avançados sobre a barra de ação ou o AppCompat , não precisa usar o Actionbar ou o AppCompat .

Kaloglu
fonte
6

No manifesto do Android, basta alterar o tema da atividade para AppTheme da seguinte forma: snippet de código

<activity
  android:name=".MainActivity"
  android:label="@string/app_name"
  android:theme="@style/AppTheme">
</activity>
shikha
fonte
<atividade Android: name = android: label = "@ corda / app_name" android: theme = "@ estilo / AppTheme" "MainActivity."> </ atividade>
shikha
6

É quando você deseja um AlertDialog em um fragmento

            AlertDialog.Builder adb = new AlertDialog.Builder(getActivity());
            adb.setTitle("My alert Dialogue \n");
            adb.setPositiveButton("OK", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {

                  //some code

            } });
            adb.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {

                 dialog.dismiss();

                } });
            adb.show();
Avinash_ks
fonte
6

Nas minhas experiências, o problema foi o contexto em que mostrei meu diálogo. Dentro de um botão, clique em Eu instanciar um AlertDialog desta maneira:

builder = new AlertDialog.Builder(getApplicationContext());

Mas o contexto não estava correto e causou o erro. Eu mudei usando o contexto do aplicativo desta maneira:

Na seção declarar:

Context mContext;

no método onCreate

mContext = this;

E, finalmente, no código em que eu preciso do AlertDialog:

start_stop = (Button) findViewById(R.id.start_stop);
start_stop.setOnClickListener( new View.OnClickListener()
     {
                @Override
                public void onClick(View v)
                {
                    if (!is_running)
                    {
                        builder = new AlertDialog.Builder(mContext);
                        builder.setMessage("MYTEXT")
                                .setCancelable(false)
                                .setPositiveButton("SI", new DialogInterface.OnClickListener() {
                                    public void onClick(DialogInterface dialog, int id) {
                                    Task_Started = false;
                                    startTask();
                                    }
                                })
                                .setNegativeButton("NO",
                                        new DialogInterface.OnClickListener() {
                                    public void onClick(DialogInterface dialog, int id) {
                                        dialog.cancel();
                                    }
                                });
                        AlertDialog alert = builder.create();
                        alert.show();
                    }
            }
        }

Esta é a solução para mim.

Dante
fonte
Você está certo de que não deveria estar usando um contexto de aplicativo da maneira que o tinha originalmente. O que você fez é usar uma Atividade como contexto. No entanto, esse não é um contexto de aplicativo ou uma subclasse dele. Portanto, não é certo dizer que você está usando um contexto de aplicativo de uma maneira diferente.
Hod
5

Este funcionou para mim:

<application
           android:allowBackup="true"
           android:icon="@mipmap/ic_launcher"
           android:label="@string/app_name"
           android:theme="@style/AppTheme" >
           <activity
               android:name=".MainActivity"
               android:label="@string/app_name"
               android:theme="@style/Theme.AppCompat.NoActionBar">

               <intent-filter>
                   <action android:name="android.intent.action.MAIN" />

                   <category android:name="android.intent.category.LAUNCHER" />
               </intent-filter>
           </activity>
</application>
user1501382
fonte
5

Sua Atividade está estendendo o ActionBarActivity, que requer que o AppCompat.theme seja aplicado. Mude de ActionBarActivity para Activity ou FragmentActivity , resolverá o problema.

Se você não usa barra de ação, então:

android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen" 
Md Imran Choudhury
fonte
5

Eu estava tendo o mesmo problema. Porque eu estava criando uma gaveta de navegação personalizada. Mas eu esqueço de mencionar o tema no meu manifesto assim

android:theme="@style/Theme.AppCompat.NoActionBar"

Assim que adicionei o tema acima ao meu manifesto, ele resolveu o problema.

Azhar osws
fonte
4

Solução rápida.

Altere seu pai do tema base em styles.xml

Substituir de

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

para

<style name="AppTheme" parent="Theme.AppCompat">
Kaloglu
fonte
não me ajuda, a exceção ainda desencadeia
Eugene Gr. Philippov
3

Esta solução funcionou para mim.

A biblioteca de design depende das bibliotecas de suporte do Support v4 e do AppCompat, portanto, não use versões diferentes para appcompat e biblioteca de design em gradle.

usar

 compile 'com.android.support:appcompat-v7:23.0.0'
 compile 'com.android.support:design:23.0.0'

ao invés de

 compile 'com.android.support:appcompat-v7:23.0.0'
 compile 'com.android.support:design:23.1.0'
Kiran Boghra
fonte