ПОМИЛКА: проблеми з візуалізацією Наступні класи не вдалося знайти 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.