ПОМИЛКА: проблеми з візуалізацією Наступні класи не вдалося знайти android.support.v7.internal.widget.ActionBarOverlayLayout


97

Я лише новачок у розробці додатків для Android. Коли я створив новий проект на Android Studio 1.1.0, він видає цю помилку " проблеми з наданням. Наступні класи не вдалося знайти android.support.v7.internal.widget.ActionBarOverlayLayout "

Зараз я шукав про це в Google, і я знайшов, можливо, 3 рішення, дані більшістю людей.

Вони кажуть:

  1. Або змініть api (з області вікна попереднього перегляду) з 22 на 21, або

  2. Змініть Тему додатка з "Тема проекту" на будь-яку іншу тему.

  3. не забудьте імпортувати правильну бібліотеку appcompat-v7 у вашу структуру проекту -> залежності, див. ці кроки : Додайте ідентифікатор проекту функції підтримки бібліотеки до розділу залежностей. Наприклад, щоб включити проект appcompat, додайте компіляцію "com.android.support:appcompat-v7:18.0.+" до розділу залежностей, як показано у наступному прикладі:

dependencies {
    ...
    compile "com.android.support:appcompat-v7:18.0.+" }

Примітка. Моя вкладка підтримки для Android є оновленою (встановлена ​​за допомогою диспетчера SDK).

Виконуючи перші два кроки, помилка видалена. Але я вважаю, що це не постійні рішення, другий крок здається просто тимчасовим рішенням. У мене є сумніви щодо першого кроку також, що якщо для усунення помилки ми змінимо api з 22 на 21, то в кінці наш додаток не буде працювати в Android 5.1.1 (API 22), він буде обмежений на Android 5.0 .1 і нижче (API 21). Чи справедливі мої сумніви? Щодо третього кроку, чи є постійним вирішенням цієї проблеми?

PS: Вибачте за невідповідність тегів, заборонено додавати точні теги через репутацію сайту


1
Для мене навіть перші два кроки не вирішують проблему ... Я отримую "проблеми з рендерінгом" з усіма макетами, які мають представлення з android.support. Це засмучує!
користувач1987392

Відповіді:


162

Виправте Res / values ​​/ styles.xml так:

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

Детальне пояснення за запитом: так Theme.AppCompat.Light.DarkActionBarчи Baseінакше є підкласом суперкласу . Ctrl + клацніть по ньому (Android Studio), і ви перейдете до джерела:

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

Ми нічого не змінили, просто визначили це більш точно.


29
Нічого собі, який кульгавий досвід у студії Android.
Warren P

6
Якщо я хочу використовувати "Theme.AppCompat.Light.NoActionBar", то що?
Хазеб Ядун

4
Дивно, додаючи слово "База". працював на мене. "Всі ваші бази належать нам."
SMBiggs

1
Працював і для мене ... Я працюю над старим додатком, і База виправила помилку!
Саїд Яздані

1
Чому саме визначення теми виправляє проблему?
Роберт

28

Це відома помилка з моменту побудови Android Studio 1.1 (вона також перебуває у попередньому перегляді 1.2 та 1.3). Перемикання рівня API попереднього перегляду з 22 на 21 виправляє більшість людей. Дочекавшись виправлення, ви можете також спробувати його.

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

Спочатку відповів тут: Проблеми із наданням в Android Studio v 1.1 / 1.2

Просто репостінг


16

Змініть src / res / values ​​/ styles.xml

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

Потім виберіть API22, і ви знайдете цю проблему виправленою!


3

Після цієї помилки я використовую:

API-22 Android 5.1.1 і досі ця проблема існує. Але ви можете у верхній частині панелі інструментів андроїд-студії, виберіть:

Material Light -> Material Light

а потім ви можете переглянути попередній перегляд за допомогою панелі інструментів та легкої теми.

Сподіваюся, це допомагає.


1

Я вирішив цю проблему, перейшовши на тему Holo Dark, потім повернувшись до теми App. Я щойно натиснув кнопку над глядачем, на якій написано тему додатка поруч із поворотом у студії Android. Близько 10% часу це одне не працює, і мені також доводиться змінювати API глядача з 22 на 19.

Не маю уявлення, чому це працює, але запропоновані вище пропозиції не працювали для мене.


0

Не потрібно змінювати тему. Можливо, ви розширюєте ActionBarActivity (застаріле), а не просто Діяльність. Змініть його та побудуйте проект.


Нові правила @Kleyton, замість того, щоб розширювати ActionBarActivity (який тепер застарілий), рекомендується розширити AppCompatActivity (відповідно до сторінок розробників google android).
Ашиш Гоял

0

Якщо ви змінили активність з ActionBarActivity на просто Активність, не забудьте імпортувати саму активність. Це є

імпорт android.app.Activity

Це смокче, але ей, це їх вина, а не наша.

Також ви можете просто змінити тему, натиснувши "AppTheme" і вибрати Holo.Light.DarkActionBar. Він оновлює файл styles.xml автоматично. Після цього відновіть проект.

Я все це зробив, і для мене це працює, хоча я думаю, що хлопці в Google та IntelliJ повинні зробити щось щодо цієї проблеми візуалізації, оскільки нам сказали перейти з Eclipse до Android Studio


Нові правила придумали брато! Замість розширення ActionBarActivity (яка зараз застаріла), рекомендується розширити AppCompatActivity (відповідно до сторінок розробників google android).
Ашиш Гоял

Чи працює так, як робить діяльність? І чи піклується він про проблеми з візуалізацією XML?
Андрекон

Відповідно до сторінок розробників google android, він (AppCompatActivity) піклується про все, що раніше робив ActionBarActivity
Ashish Goyal
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.