Не удалось найти следующие классы: android.support.v7.internal.app.WindowDecorActionBar

114

Что вызывает следующую ошибку при предварительном просмотре макета в Android Studio?

Проблемы рендеринга Следующие классы не могут быть найдены: - android.support.v7.internal.app.WindowDecorActionBar (Fix Build Path, Create Class) Совет: попробуйте собрать проект.

Рахул
источник
14
закрыто как не по теме? шутки в сторону? Те, кто проголосовали за закрытие, определенно не понимают вопроса.
Джахид

Ответы:

273

Панель действий устарела и заменена панелью инструментов. При этом вы можете сделать следующее, если хотите сейчас продолжить использование Actionbar:

  1. Откройте файл styles.xml в папке значений внутри папки res.
  2. Добавьте слово Base в начало имени темы, чтобы оно читалось как «BaseTheme.AppCompat.Light.DarkActionBar».

введите описание изображения здесь

Сегодня у меня была такая же проблема, и это решение сработало для меня. К вашему сведению, я работаю в Android Studio, но, надеюсь, решение аналогично Eclipse.

К вашему сведению, вот достойное сообщение в блоге о замене панели действий на панель инструментов, когда вы будете готовы к этому: https://blog.xamarin.com/android-tips-hello-toolbar-goodbye-action-bar/

joshgoldeneagle
источник
8
Ничего подобного тому, как Гуг меняет вещи из-под тебя. Очередной раз. Приятное зрелище @joshgoldeneagle!
saywhatnow
7
Я получил эту ошибку, просто создав новый проект по умолчанию в Android Studio. Это решило это.
AutonomousApps
После однодневного исследования я наконец нашел решение. Спасибо @joshgoldeneale
Abish R
если "BaseTheme.AppCompat.Light.DarkActionBar" не работает, вам следует попробовать "Theme.Base.AppCompat.Light.DarkActionBar", потому что он работает для меня ... :) (android studio 3.0.1)
Mang Jojot,
Ты потрясающий
Навид Ахмад
46

Я думаю, вы должны зависеть от "com.android.support:appcompat-v7:23.1.1"своих moduleнастроек.

ActionBar устарела.

Просто измените свои зависимости с 'com.android.support:appcompat-v7:23.1.1'на 'com.android.support:appcompat-v7:23.0.1'в build.gradle .

Вы также можете изменить свой родительский стиль на "Theme.AppCompat.Light.NoActionBar".

Попробуйте использовать Toolbarвместо ActionBar.

Handsome.Dou
источник
32

Это работает для меня

Изменение родительского элемента AppTheme в res / values ​​/ styles.xml решило эту проблему. замещать

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

с участием

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

Или вы можете изменить уровень API 21 из списка.

Равикант Паудель
источник
6
Это работает, но что именно происходит, когда вы устанавливаете BaseTheme?
Micro
Android представил панель инструментов вместо панели действий, которая является причиной этой ошибки, но, изменив ее на базовую, вы просто решаете проблему. По умолчанию он не меняет себя (в текущей версии Android Studio), поэтому мы должны делать это вручную. Вы также можете просмотреть другие ответы, которые также говорят вам о том же. Извините, я был занят проектом, поэтому не могу ответить быстро.
Ravikant Paudel
9

goto: res -> значения -> стили (V21) ->

Код

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

выберите свою тему, как Apptheme.NoActionBarв предварительном просмотре . Потому что ActionBarэто depricated, добро пожаловать обратно ToolBar. НЕТ необходимости изменять ваши зависимости в build.gradle(Module:app). от com.android.support:appcompat-v7:23.1.1до com.android.support:appcompat-v7:23.0.1.

Надеюсь, что это поможет вам!!!

Нарендра Баратам
источник
8

У меня была аналогичная проблема, и, как многие говорили, поскольку ActionBar устарел, трюк заключался в том, чтобы указать

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

ПРИМЕЧАНИЕ: родительский элемент заканчивается на .NoActionBar.

Поскольку ActionBar устарел, Android перешел на использование ToolBar, о котором вы можете прочитать здесь, на сайте developer.android.com.

Я пытался указать

<style name="AppTheme.NoActionBar">

Как указано в другом сообщении, и это вызвало ошибки. Хотя у других может не быть этой проблемы.

john.weland
источник
4

У меня такая же проблема в Android Studio 1.5 (даже с AppCompatActivity), и моя попытка решить эту проблему заключалась в обновлении моей Android Studio до 2.0. В моем случае это решает проблему. Вы можете найти ссылку для загрузки в: http://tools.android.com/download/studio/canary/latest

ninjahoahong
источник
Кроме того, Android Studio 2.0 имеет мгновенный запуск, что, на мой взгляд, очень круто. Мой код мгновенно обновляется на моем устройстве. Тебе действительно стоит попробовать это.
ninjahoahong
3
Просто хочу добавить, что эта проблема была исправлена ​​в Android Studio 1.5.1. Проблема 194975 - android - Ложное предупреждение: WindowDecorActionBar не найден - Проект с открытым исходным кодом Android
Система отслеживания проблем
3

спасибо @joshgoldeneagle, у меня работал в AS v1.4. в AS также эффективно открыть build.gradle (Module.app) и изменить версию с v7.23.1.1 на v7.23.0.1 -hth

убер
источник
2

Быстрая починка

Выберите тему без AtcionBar в инструменте предварительного просмотра пользовательского интерфейса
Кнопка выбора изображения введите описание изображения здесь

vovahost
источник
2

Вам нужно будет изменить уровень рендеринга api на 17, может быть проблема с рендерингом с api более высокого уровня, может быть api более высокого уровня, предположим, что у вас есть тема по умолчанию, и надеюсь, вы не указали ни одной.

введите описание изображения здесь

Баджранг Худда
источник
1

Для AS v1.4 добавление "Base" перед Theme.AppCompat.Light.DarkActionBar в папке styles.xml решило проблему.

Кроме того, обновление до версии AS v2.1 также решило проблему. Что более вероятно, зависит от соавторов и их версии AS.

Devin E
источник
0

В res / values ​​/ styles.xml вы найдете свою AppTheme, как показано ниже: -

Измените его на: -

добавив «Базу», проблема рендеринга будет решена.

JayJoshi
источник
0

Изменение темы в манифесте решило мою проблему.

 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
Милон
источник