Подтвердить что ты не робот

Исключение, возникающее при рендеринге: невозможно найти макет для панели действий

При использовании Android Studio сейчас я редактировал XML файл в редакторе, и я получил эту ошибку в окнах Preview и Design:

 Exception raised during rendering: Unable to find the layout for Action Bar.

Я попытался перезапустить Android Studio, мой ноутбук и Google для ответа, но я ничего не могу найти. Кто-нибудь испытал что-то подобное?

4b9b3361

Ответ 1

У меня была такая ошибка. На моем Mac есть API 22. Если я выберу его, появится эта ошибка. Поэтому нажатие на API 21 или ниже решит вашу проблему.

enter image description here

Вероятно, вам необходимо обновить свои инструменты.

Ответ 2

Те, кто использует Eclipse, могут попытаться выбрать Theme.DeviceDefault, чтобы исключить исключение. Обновление: согласно комментариям, это работает и для Android Studio. enter image description here

Ответ 3

Вы можете решить эту проблему двумя способами.

Измените API на вкладке, попробуйте один из них из доступных или выберите PICK UP BEST или измените минимальный пароль sdk

Выбрать API из доступных

Измените тему, если первое решение не работает

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

Ответ 4

Нажмите "Тема в редакторе" и измените тему:

click on theme in editor and change the theme

Моя проблема решается после этого

Ответ 5

У меня была эта ошибка на eclipse-3.8, adt-23.07, sdk-tools-23.1, appcompat_v7_r19.1.

После анализа ошибки я обнаружил, что проблема в android-sdk-linux/platform/android-23/data/layoutlib.jar: com/android/layoutlib/bridge/impl/Layout.class по методу createActionBar в строке if (this.mBuilder.isThemeAppCompat())

Мое решение:

  • (нет источника, поэтому) декомпилировать Layout.class → Layout.java
  • изменить Layout.java, добавить метод:


    private boolean hasWindowDecorActionBar(SessionParams params) {
        LayoutlibCallback callback = params.getLayoutlibCallback();
        try {
            callback.findClass("android.support.v7.app.WindowDecorActionBar");
        } catch (ClassNotFoundException ei) {
            try {
                callback.findClass("android.support.v7.internal.app.WindowDecorActionBar");
            } catch (ClassNotFoundException e) {
                return false;
            }
        }
        return true;
    }

  1. Найдите строку if (this.mBuilder.isThemeAppCompat()), затем измените на:

    if (this.mBuilder.isThemeAppCompat() && hasWindowDecorActionBar(params))

  1. перекомпилировать Layout.java → Layout.class и Layout $Builder.class
  2. обновить layoutlib.jar с новыми классами
  3. перезапустить eclipse

Это все. Теперь я могу отобразить с помощью API-23 все мои старые макеты приложений, которые связаны с appcompat_v7_r19.1.

Ответ 6

Предположите сделать чистый проект.

Ответ 7

Я думаю, что это ошибка, и до этого момента нет окончательного решения, переход на API меньше API-22 - это временное решение не более.