No se pudieron encontrar las siguientes clases: android.support.v7.internal.app.WindowDecorActionBar


114

¿Qué causa el siguiente error en la vista previa del diseño en Android Studio?

Problemas de representación No se pudieron encontrar las siguientes clases: - android.support.v7.internal.app.WindowDecorActionBar (Reparar ruta de compilación, Crear clase) Sugerencia: Intente compilar el proyecto.


14
cerrado como fuera de tema? ¿seriamente? Aquellos que votaron para cerrar esto definitivamente no entienden la pregunta en absoluto.
Jahid

Respuestas:


273

La barra de acciones ha quedado obsoleta y reemplazada por la barra de herramientas. Dicho esto, puede hacer lo siguiente si desea continuar usando Actionbar por ahora:

  1. Abra styles.xml en la carpeta de valores dentro de la carpeta res.
  2. Agrega la palabra Base al principio del nombre del tema para que diga "Base.Theme.AppCompat.Light.DarkActionBar"

ingrese la descripción de la imagen aquí

Hoy tuve el mismo problema y esta solución funcionó para mí. Sin embargo, para su información, estoy en Android Studio, pero con suerte, la solución es similar para Eclipse.

Para su información, aquí hay una publicación de blog decente sobre cómo reemplazar la barra de acción con la barra de herramientas para cuando esté listo para hacerlo: https://blog.xamarin.com/android-tips-hello-toolbar-goodbye-action-bar/


8
Nada como el Goog cambiando cosas debajo de ti. De nuevo. ¡Buen descubrimiento @joshgoldeneagle!
saywhatnow

7
Recibí este error al crear un nuevo proyecto predeterminado en Android Studio. Esto lo solucionó.
AutonomousApps

Después de un día de investigación finalmente conseguí la solución. Gracias @joshgoldeneale
Abish R

si "Base.Theme.AppCompat.Light.DarkActionBar" no funciona, debería probar "Theme.Base.AppCompat.Light.DarkActionBar" porque me funciona ... :) (android studio 3.0.1)
Mang Jojot

Eres increíble
Naveed Ahmad

46

Creo que debes depender de "com.android.support:appcompat-v7:23.1.1"tu moduleconfiguración.

ActionBar ha quedado obsoleto.

Simplemente cambie sus dependencias de 'com.android.support:appcompat-v7:23.1.1'a 'com.android.support:appcompat-v7:23.0.1'en "build.gradle" .

También puede cambiar su estilo principal a "Theme.AppCompat.Light.NoActionBar".

Intente utilizar el en Toolbarlugar de ActionBar.


32

Esta funciona para mí

Cambiar el padre de AppTheme en res / values ​​/ styles.xml resolvió este problema. Reemplazar

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

con

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

O puede cambiar el nivel de API 21 de la lista.


6
Eso funciona, pero ¿qué está haciendo exactamente cuando pones Base.Theme?
Micro

Android introdujo la barra de herramientas en lugar de la barra de acción, que es la causa de este error, pero al cambiarla a Base.Theme simplemente está resolviendo el problema. Por defecto no se cambia solo (en la versión actual de Android Studio) por lo que tenemos que hacerlo manualmente. También puede revisar la respuesta de otros que también le dice lo mismo. Lo siento, estaba ocupado en el proyecto, así que no puedo responder rápido.
Ravikant Paudel

9

goto: res -> valores -> estilos (V21) ->

Código

<style name="AppTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="android:windowDrawsSystemBarBackgrounds">true</item>
    <item name="android:statusBarColor">@android:color/transparent</item>
</style>

seleccione su tema como Apptheme.NoActionBaren la vista previa . Porque ActionBarestá depricado, bienvenido de nuevo ToolBar. NO es necesario cambiar sus dependencias en build.gradle(Module:app). desde com.android.support:appcompat-v7:23.1.1hasta com.android.support:appcompat-v7:23.0.1.

¡¡¡Espero que esto te ayudará!!!


8

Tuve un problema similar, y como muchos han dicho desde que ActionBar ha quedado obsoleto, el truco consistía en especificar

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

NOTA: que el padre termina en .NoActionBar.

Dado que ActionBar ha quedado obsoleto, Android ha pasado a utilizar ToolBar, sobre el que puede leer aquí en developer.android.com

Intenté especificar

<style name="AppTheme.NoActionBar">

Como decía otro post y eso arrojó errores. Aunque otros pueden no tener ese problema.


4

Tengo el mismo problema en Android Studio 1.5 (incluso con AppCompatActivity), y mi intento de resolver el problema fue actualizar mi Android Studio a 2.0. Resuelve el problema en mi caso. Puede encontrar el enlace de descarga en: http://tools.android.com/download/studio/canary/latest


Además, Android Studio 2.0 tiene ejecución instantánea, lo cual es muy bueno en mi opinión. Mi código se actualiza instantáneamente en mi dispositivo. Realmente deberías probar esto.
ninjahoahong


3

gracias @joshgoldeneagle, trabajó en AS v1.4 para mí. también efectivo en AS es abrir "build.gradle (Module.app)" y cambiar la versión de v7.23.1.1 a v7.23.0.1 -hth


2

Arreglo rapido

Seleccione un tema sin AtcionBar en la herramienta de vista previa de la interfaz de usuario
Botón elegir imagen ingrese la descripción de la imagen aquí


2

Deberá cambiar el nivel de representación de la API a 17, puede haber un problema de representación con las API de nivel superior, puede haber apis de nivel superior, se supone que tiene un tema predeterminado y espero que no se especifique ninguno.

ingrese la descripción de la imagen aquí


1

Para AS v1.4, agregar "Base" antes de Theme.AppCompat.Light.DarkActionBar en la carpeta styles.xml resolvió el problema

Además, la actualización a AS v2.1 también resolvió el problema. Cuál es más probable depende de los colaboradores y su versión de AS.


0

En res / values ​​/ styles.xml, encontrará su AppTheme de la siguiente manera: -

Cámbielo a: -

agregando "Base" se resolverá el problema de renderizado.


0

Cambiar el tema en el manifiesto resolvió mi problema.

 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.