Debe usar un tema Theme.AppCompat (o descendiente) con esta actividad

1004

Android Studio 0.4.5

Documentación de Android para crear cuadros de diálogo personalizados: http://developer.android.com/guide/topics/ui/dialogs.html

Si desea un cuadro de diálogo personalizado, puede mostrar una Actividad como cuadro de diálogo en lugar de utilizar las API de cuadro de diálogo. Simplemente cree una actividad y establezca su tema en Theme.Holo.Dialog en el <activity>elemento manifiesto:

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

Sin embargo, cuando probé esto me sale la siguiente excepción:

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

Estoy apoyando lo siguiente, y no puedo usar algo mayor que 10 por minuto:

minSdkVersion 10
targetSdkVersion 19

En mis estilos tengo lo siguiente:

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

Y en mi manifiesto tengo esto para la actividad:

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

Crear un cuadro de diálogo como este era algo que esperaba hacer, ya que ya he completado el diseño.

¿Alguien puede decirme cómo puedo solucionar este problema?

ant2009
fuente
2
@Raghunandan, soy nuevo en esto, pero mirando mis estilos tengo lo siguiente: <style name = "AppTheme" parent = "Theme.AppCompat.Light.DarkActionBar"> Y tengo las siguientes importaciones: import android.support.v7 .app.ActionBarActivity; importar android.support.v7.app.ActionBar; importar android.support.v4.app.Fragment; Pero no estoy seguro de lo que significa todo esto.
ant2009
10
Estás utilizando AppCompatel formulario de la biblioteca de soporte para admitir barras de acción por debajo del nivel de API 11. Solo úsalo android:theme="@style/AppTheme" >para la actividad en manifiesto
Raghunandan
2
@ ant2009, para aclarar lo que dijo @Raghunandan: en su AndroidManifest.xml, el tema que está especificando para su actividad está anulando el tema que está especificando para su aplicación. Eliminar la android:themelínea de la <activity>etiqueta.
cryptochronoconolite
3
Hacer esto eliminará el error pero no lo llevará a donde quiere estar, que es una actividad con un tema de diálogo. La regla general es que si desea que su actividad tenga una barra de acción, debe tener el tema AppCompat y el código de Java debe extender ActionBarActivity. Si tiene una actividad que no necesita una barra de acción (como una actividad temática de diálogo) puede aplicarle cualquier tema, pero el código de Java debe extender la actividad antigua.
Bobbake4
1
Creo que el único problema en este caso es el contexto que proporciona para el limitador de diálogo. Mira mi respuesta. stackoverflow.com/a/51574281/232727
Vitaliy A

Respuestas:

1124

La razón por la que tiene este problema es porque la actividad a la que está tratando de aplicar el tema del diálogo se está extendiendo, lo ActionBarActivityque requiere AppCompatque se aplique el tema.

Actualización : Ampliación AppCompatActivity también tendría este problema

En este caso, cambie la herencia Java de ActionBarActivitya Activityy deje el tema de diálogo en el manifiesto tal como es, un Theme.AppCompatvalor no


La regla general es que si desea que su código sea compatible con versiones anteriores de Android, debería tener el AppCompattema y el código de Java debería extenderse AppCompatActivity. Si tienes * una actividad que no necesita este soporte, como que solo te interesan las últimas versiones y características de Android, puedes aplicarle cualquier tema, pero el código de Java debe extenderse por completo Activity.


NOTA: Cuando cambie de AppCompatActivity(o una subclase ActionBarActivity) a Activity, también debe cambiar las diferentes llamadas con "soporte" a la llamada correspondiente sin "soporte". Entonces, en lugar de getSupportFragmentManagerllamar getFragmentManager.

Bobbake4
fuente
66
op está usando appcompat, en cuyo caso debe extender ActionBarActivitylo que se muestra en sus declaraciones de importación del comentario debajo de la pregunta.
Raghunandan
2
@Bursos Si estás hablando cuando creas un nuevo proyecto en Android Studio, supongo que es un error en la configuración estándar.
Bobbake4
2
@ Bobbake4, estoy teniendo el mismo problema, y ​​esta solución es imposible para mí. Lo que pasa es que no puedo extender la actividad, porque tengo un montón de clases (proyecto completo) que se transmiten en ActionBarActivity. ¿Hay alguna otra solución al problema? Thx
5er
66
@ 5er Si su Java está utilizando ActionBarActivity, el tema debe extender Theme.AppCompat. Hay un puñado de temas integrados que extienden Theme.AppCompat o puede extenderlo usted mismo y modificarlo. Sin quitar el padre ActionBarActivity no puede moverse usando Theme.AppCompat.
Bobbake4
26
En el estilo <style name = "AppTheme" parent = "Theme.AppCompat.Light.DarkActionBar"> esto resolvió mi problema. :)
Harmeet Singh
546

Todo lo que necesita hacer es agregar android:theme="@style/Theme.AppCompat.Light"a su etiqueta de aplicación en el AndroidManifest.xmlarchivo.

iusting
fuente
2
En el código, ant2009 tiene AppTheme configurado como la aplicación que se extiende desde un descendiente de Theme.AppCompat. Eso debería funcionar. Tuve el mismo problema después de actualizar a 5.0 en mi dispositivo y terminé configurando @ style / Theme.AppCompat.Light como el tema en mi actividad. Algo no está bien aquí ...
speedynomads
36
Esta no es una respuesta válida para Android Studio, aunque en algunos casos funcionará como una solución rápida cuando se omiten los archivos styles.xml. En Android Studio, la forma correcta de definir el tema es definirlos en archivos styles.xml, y luego el archivo de manifiesto de Android simplemente se referirá a ellos y los seleccionará según la versión de Android que esté ejecutando en su dispositivo. Por lo general, se establece en android: theme = "@ style / AppTheme" y este AppTheme se refiere a <style name = "Theme.AppTheme" parent = "Theme.AppCompat.Light"> en styles.xml
zeeshan
55
Esto realmente no funcionó para mí porque mis barras de título desaparecieron cuando usé cualquier cosa menos holo ...
AndyD273
1
También me encontré con este problema usando SnackBar. Esto resolvió mi problema.
trabajó el
2
@ Martin si eres como yo, te has olvidado de agregar el mismo nombre de estilo en el archivo general styles.xml que en el archivo (V21) styles.xml (sin las propiedades específicas de V21). Si declara un estilo en la carpeta V21 y su dispositivo tiene una versión a continuación. No puede encontrarlo, por lo que se activa una excepción.
letroll
275

Copiando la respuesta de @ MarkKeen en los comentarios anteriores ya que tuve el mismo problema.

Tenía el error indicado en la parte superior de la publicación y sucedió después de agregar un cuadro de diálogo de alerta. Tengo toda la información de estilo relevante en el manifiesto. Mi problema se solucionó cambiando una referencia de contexto en el generador de alertas. Cambié:

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

a:

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

Y no más problemas.

Alaska
fuente
55
Sucedió conmigo también. ¡Solo estaba intentando y tu respuesta realmente funcionó! ¿Cuál es la lógica para que funcione? Realmente no entendí.
kirtan403
66
O, si está compilando su AlertDialog en un fragmento, en lugar de hacerlo directamente en una Actividad, use en getActivity()lugar de thislo sugerido anteriormente y el problema está solucionado. En cuanto a por qué, solo puedo suponer que el código anterior AlertDialog.Builder (xxx) quería que se pasara un tipo diferente o simplemente era menos exigente con lo que se pasó, mientras que el Builder actual () realmente quiere una Actividad. Dado que Google ha optado por ocultar (¿eliminar?) La documentación del código anterior, presumiblemente en un esfuerzo por alentar el uso de la versión v7.app, no conozco ninguna forma de asegurarlo.
Anne Gunn
Hizo lo contrario de lo que se sugiere. Y funcionó: P. ¡Gracias!
Harisewak
1
Esto resuelve el programa para mí, también lo usarías en getContext()lugar de thissi estás dentro de un ArrayAdapter o una clase de adaptador similar.
Ibrahim.H
1
Esta es la solución genuina que he conocido. SUGERENCIA: mencione la diferencia en getApplicationContext () y esto en este propósito.
prazeev
109

min sdk es 10. ActionBarestá disponible desde el nivel 11 de la API. Por lo tanto, para 10 estaría usando AppCompatdesde la biblioteca de soporte para la que necesita usarTheme.AppCompat o descendiente de la misma.

Utilizar

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

O si no quieres una barra de acción en la parte superior

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

Más información @

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

Editar:

Podría haber leído mal la publicación de opinión.

Parece que op quiere un diálogo con un tema de actividad. Entonces, como ya sugirió Bobbake4, extienda en Activitylugar de ActionBarActivity.

También eche un vistazo a los atributos del cuadro de diálogo @ en el siguiente enlace

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
fuente
Gracias por la sugerencia. Ya lo intenté en realidad. Y tengo el mismo problema. Mi archivo de estilos se ve así: <style name = "AppTheme" parent = "Theme.AppCompat">
ant2009
@ ant2009 no lo harás. Utilice un tema de la biblioteca de soporte para su actividad AppCompat
Raghunandan
No estoy seguro si estoy agregando este tema correcto. Pero, ¿te refieres a agregar la siguiente declaración de importación? importar android.support.v7.appcompat. *; Sin embargo, lo intenté y tal vez me equivoque, ya que terminé con la misma excepción.
ant2009
@ ant2009 puede tener un diálogo personalizado. ¿Pero quieres el diálogo de pantalla completa?
Raghunandan
No quería tenerlo a pantalla completa. Solo un cuadro de diálogo. Sin embargo, el problema está resuelto ahora. Bobbake4 lo hizo bien. Gracias por tu esfuerzo de todos modos, has dado consejos útiles. Sin embargo, todavía estoy confundido con toda esta biblioteca de soporte y AppCompat.
ant2009
99

Si está utilizando el contexto de la aplicación, así:

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

cámbielo a un contexto de actividad como este:

final AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
Darush
fuente
Lo mismo si está utilizando LayoutInflater.from (<contexto de aplicación>), asegúrese de utilizar el contexto de actividad o el LayoutInflater proporcionado para que herede el tema correcto.
lbarbosa
1
Su solución me ayudó en mi caso. ¿Puedes explicar qué diferencia hay entre getApplicationContext () y MainActivity.this?
kostyabakay
consulte este enlace: stackoverflow.com/questions/22966601/…
Darush
99
necesita una actividad, no un contexto, para mostrar cuadros de diálogo
behelit el
esta solución lo resuelve
Mohamed Amin
45

Estaba experimentando este problema a pesar de que mi tema era un AppCompattema y mi actividad era un AppCompatActivity(o Activity, como se sugiere en las respuestas de otros). Así que limpié, reconstruí y volví a ejecutar el proyecto.

( Compilación -> Proyecto limpio; Compilación -> Proyecto de reconstrucción; Ejecutar -> Ejecutar )

Puede parecer tonto, ¡pero ahora funciona muy bien !

¡Solo espero que ayude!

Geraldo Neto
fuente
1
Tenía exactamente el mismo mensaje después de agregar DialogFragment a la actividad AppCompat. File, Invalidate Caches / Restart solucionó eso en un apuro.
Halxinate
2
Intenté casi todas las respuestas en este hilo. pero solo esta respuesta aparentemente "tonta" funciona. ¡gracias!
Dika
27

Esto es lo que me solucionó: en lugar de especificar el tema en manifiesto, lo definí onCreatepara cada actividad que se extiende ActionBarActivity:

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

Aquí MyAppThemees un descendiente de Theme.AppCompat, y se define en xml. Tenga en cuenta que el tema debe establecerse antes super.onCreatey setContentView.

k29
fuente
1
Robolectric está lanzando una NullPointerException en la línea setTheme cuando intenta cargar el recurso. ¿Alguna idea de por qué?
Rhys Davis
@RhysDavis ¿Difícil de decir sin rastro de pila, pero tal vez quiere setContentView primero? En ese caso, esta solución no funcionará para usted.
k29
19

ve a tus estilos y pon el padre

parent="Theme.AppCompat"

en vez de

parent="@android:style/Theme.Holo.Light"
Yamen Nassif
fuente
¿Por qué podemos hacer esto con una actividad estándar? ¿Android no puso barras de acción en Actividades estándar con ICS o Honecomb? ¿Siempre tenemos que usar ActionBarActivity si establecemos nuestro objetivo mínimo en SDK ICS?
Andrew S
cómo ver qué tema deberíamos usar con el tipo o función que estamos usando porque cuando importamos tenemos todo tipo de temas disponibles
blackHawk
17

Cambiar el tema de la actividad deseada. Esto funciona para mi:

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

En mi caso no tengo el archivo de valores-v21 en mi directorio res. Luego lo creé y agregué los siguientes 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
fuente
Estaba ejecutando mi proyecto en dispositivos Oreo + y solo esto funcionó para mí.
Nishant Soni
14

Tuve tal bloqueo en los dispositivos Samsung a pesar de que la actividad sí utilizó Theme.AppCompat . La causa raíz estaba relacionada con optimizaciones extrañas en el lado de 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

Mi solución fue simplemente eliminar android:launchMode="singleTask"

Gorgona
fuente
2
También me encontré con esto, no he validado la corrección y no puedo reproducir el error ... pero estoy viendo este error en la naturaleza solo en dispositivos Samsung. la mayoría parece estar enraizada también, fwiw
danb
Tenía el error indicado en la parte superior de la publicación y sucedió después de agregar un diálogo de alerta. Tengo toda la información de estilo relevante en el manifiesto. Mi problema se solucionó cambiando una referencia de contexto en el generador de alertas: cambié: nuevo android.support.v7.app.AlertDialog.Builder (getApplicationContext ()) a: nuevo android.support.v7.app.AlertDialog.Builder (este ) y no más problemas ...
Mark Keen
¿Tiene más detalles o enlaces a Samsung sobre esta optimización? ¿Todas las actividades tienen que implementar Theme.AppCompat o puede haber actividades sin tema?
AAverin
13

Si necesita extender ActionBarActivity que necesita en su style.xml:

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

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

Si configura como tema principal de su aplicación como Android: Theme.Material.Light en lugar de AppTheme.Base , obtendrá un error "IllegalStateException: debe usar un tema Theme.AppCompat (o descendiente) con esta actividad".

JonasOliveira
fuente
13

Solo haz

new AlertDialog.Builder(this)

En vez de

new AlertDialog.Builder(getApplicationContext())
Ali Akram
fuente
Solución de trabajo! 30 minutos para averiguar con esta respuesta. ¿Por qué estoy usando el nuevo AlertDialog.Builder (getApplicationContext ())?
Erich García
Será útil explicar qué tipo se thisespera que sea.
Blago
12

Tuve el mismo problema, pero se resolvió cuando puse esto en manifiesto: 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
fuente
10

En mi caso, tal problema apareció cuando intenté mostrar Dialog. El problema estaba en contexto, he usado getBaseContext () que teóricamente debería devolver el contexto de Actividad, pero parece que no, o devuelve el contexto antes de que se aplique cualquier Tema.

Así que simplemente reemplacé getBaseContexts () con " this ", y ahora funciona como se esperaba.

        Dialog.showAlert(this, title, message,....);
Vitaliy A
fuente
estaba pasando getApplicaitonContext (), pero el tuyo funcionó
Jeeva
9

Tuve una actividad con un tema <android:theme="@android:style/Theme.Dialog">utilizado para mostrar el diálogo en mi aplicación. y tuve el mismo problema

Resolví este error cambiando el código de actividad como a continuación:

@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
fuente
2
Esta fue una respuesta directa que funcionó para mí sin toda la complejidad y la falta de respuesta de la aceptada.
Cory Trese
8

para mí fue la solución 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;}

desde Android - ¿Cómo crear FAB mediante programación?

Peter
fuente
8

Asegúrese de utilizar un contexto de actividad mientras crea un nuevo cuadro de diálogo de alerta y no una aplicación o contexto base.

Shivam Dawar
fuente
7

También tuve este problema y lo que hice para solucionarlo, Y aún usar el tema Holo fue seguir estos pasos:

Primero reemplacé esta importación:

import android.support.v7.app.AppCompatActivity;

Con este:

import android.app.Activity;

luego cambió mi extensión de:

public class MyClass extends AppCompatActivity {//...

a esto:

public class MyClass extends Activity {//...

Y también tuvo que cambiar esta importación:

import android.support.v7.app.AlertDialog;

a esta importación:

import android.app.AlertDialog;

y luego puede usar su etiqueta de tema en el manifiesto en el nivel de actividad:

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

y, por último, (a menos que tenga otras clases en su proyecto que tengan que usar v7 appCompat) puede limpiar y reconstruir su proyecto o eliminar esta entrada en el archivo de compilación de gradle en el nivel de la aplicación:

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

Si tiene otras clases en su proyecto que tienen que usar v7 appCompat, simplemente limpie y reconstruya el proyecto.

Colérico
fuente
6

Llegó a esto porque desea aplicar Material Design en su estilo de tema en versiones anteriores de sdk a 21. ActionBarActivityrequiere, AppThemepor lo que si también desea evitar su propia personalización sobre su AppTheme, solo tiene que cambiar su styles.xml (anterior SDK 21) para que de esta manera, se pueda heredar un tema de App Compat.

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

para esto:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
danigonlinea
fuente
66
Hizo que. Aún tengo el problema. Entonces hay más que eso.
Martin
6

Cambie el estilo de tema principal a

 parent="Theme.AppCompat"

Esto funcionó para mí ...

Fazal
fuente
6

Tienes muchas soluciones a ese error.

  1. Debe usar Activity o FragmentActivity en lugar de ActionbarActivity o AppCompatActivity

  2. Si desea usar ActionbarActivity o AppCompatActivity , debe cambiar en styles.xml Theme.Holo.xxxx a Theme.AppCompat.Light (si es necesario, agregue a DarkActionbar )

Si no necesita atributos avanzados sobre la barra de acción o AppCompat , no necesita usar Actionbar o AppCompat .

Kaloglu
fuente
6

En el manifiesto de Android, simplemente cambie el tema de actividad a AppTheme como sigue el fragmento de código

<activity
  android:name=".MainActivity"
  android:label="@string/app_name"
  android:theme="@style/AppTheme">
</activity>
shikha
fuente
<activity android: name = ". MainActivity" android: label = "@ string / app_name" android: theme = "@ style / AppTheme"> </activity>
shikha
6

Esto es cuando quieres un AlertDialog en un 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
fuente
6

En mis experiencias, el problema era el contexto donde mostraba mi diálogo. Dentro de un clic de botón, ejemplifico un AlertDialog de esta manera:

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

Pero el contexto no era correcto y causó el error. Lo he cambiado usando el contexto de la aplicación de esta manera:

En declarar sección:

Context mContext;

en el método onCreate

mContext = this;

Y finalmente en el código donde necesito el 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 es la solución para mí.

Dante
fuente
Tienes razón en que no deberías usar un contexto de Aplicación de la forma en que lo tenías originalmente. Lo que has hecho es usar una Actividad como contexto en su lugar. Sin embargo, este no es un contexto de Aplicación o una subclase de él. Por lo tanto, no es correcto decir que está utilizando un contexto de Aplicación de una manera diferente.
Hod
5

Este me funcionó:

<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>
usuario1501382
fuente
5

Su actividad está extendiendo ActionBarActivity, lo que requiere que se aplique AppCompat.theme . Cambie de ActionBarActivity a Activity o FragmentActivity , resolverá el problema.

Si no usa la barra de acción, entonces:

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

Estaba teniendo este mismo problema. Porque estaba creando un cajón de navegación personalizado. Pero olvido mencionar el tema en mi manifiesto como este

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

Tan pronto como agregué el tema anterior a mi manifiesto, resolvió el problema.

Azhar osws
fuente
4

Solución rapida.

Cambie su tema principal padre en styles.xml

Reemplazar desde

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

a

<style name="AppTheme" parent="Theme.AppCompat">
Kaloglu
fuente
no me ayuda, la excepción aún se dispara
Eugene Gr. Philippov
3

Esta solución funcionó para mí.

La biblioteca de diseño depende de las Bibliotecas de soporte de Support v4 y AppCompat, por lo que no use versiones diferentes para appcompat y la biblioteca de diseño en gradle.

utilizar

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

en vez de

 compile 'com.android.support:appcompat-v7:23.0.0'
 compile 'com.android.support:design:23.1.0'
kiran boghra
fuente