Android Studio - автозаполнение редактора XML не работает с библиотеками поддержки

89

Я только начал использовать новую библиотеку android.support.design. При использовании любого из виджетов в редакторе XML я перестаю получать предложения автозаполнения XML!

Например,

<android.support.design.widget.CoordinatorLayout
    android:id="@+id/header_root"
    android:layout_width="match_parent"
    android:layout_height="200dp">

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/primary_dark" />

    <android.support.design.widget.FloatingActionButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|right"
        android:src="@drawable/ic_action_add"
        android:layout_marginLeft="16dp"
        android:layout_marginRight="16dp"
        android:layout_marginTop="56dp"
        app:fabSize="normal"
        app:layout_anchor="@id/header_root"
        app:layout_anchorGravity="bottom|right|end" />

</android.support.design.widget.CoordinatorLayout>

Ни один из тегов не будет отображать всплывающее окно автозаполнения, например, когда я начинаю вводить «android: i», всплывающее окно не появляется, единственное предложение, которое я получаю, показано на следующем рисунке.

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

Я попытался очистить свой проект, перезагрузить компьютер, перезапустить Android Studio .. ничего не работает!

hitch.united
источник
1
то же самое здесь, автозаполнение xml не работает при использовании пользовательской библиотеки
Damandeep
Вы уже решили эту проблему?
dknchris
К сожалению, пока нет. Библиотека поддержки по-прежнему не заполняется.
hitch.un
2
Связанный отчет об ошибке: Проблема 61844: Автозаполнение перестало работать . Пометьте звездочкой, чтобы они устранили проблему.
Ричард Ле Мезурье,
1
@Varun, ха-ха, по крайней мере, мы можем с радостью сказать, что сегодняшняя AS на дрожжах опережает первые версии того времени
Ричард Ле

Ответы:

121

Я много чего пробовал (перезапустить Android Studio, ПК, недействительные кеши, режим энергосбережения, ...).

Наконец, удаление папки .idea и всех файлов .iml из проекта, перезапуск Android Studio и восстановление Gradle сделали свое дело. Автозаполнение в библиотеке поддержки XML снова работает.

Извлечение файлов из системы управления версиями или копирование всех исходных файлов в новый проект также может помочь.

Марко
источник
6
Обычные ответы на вопросы по этому поводу у меня тоже не работали. Я начинал думать, что мне просто придется смириться с этим, пока не нашел твой ответ. Благодарность!
Sound Conception
4
Спасибо за решение. Необходимо открыть проект, перейдя к самой физической папке. Запись проекта на стартовом экране Android Studio у меня не сработала.
raevilman
1
Этот метод сработал для меня, но после нескольких дней кодирования он, кажется, всегда возвращается. Кто-нибудь знает, есть ли способ узнать, как он портится?
timothyjc
То же самое ... в последнем выпуске SDK 23, buildTools и вспомогательных библиотек, я видел в журнале выпуска, что они исправили некоторые проблемы, связанные с этим, давайте надеяться, что они исправлены ... :)
Марко
не работает. Пожалуйста, используйте это решение, оно отлично работает stackoverflow.com/a/54007742/4373587
Рияз Парасара
141

Если NONEиз приведенных выше ответов сработали ...

Просто перейдите в каталог установки студии Android, т.е.

yourDrive:/.AndroidStudio3.3/system

и УДАЛИТЬ ПАПКУ КЭША (сначала закройте студию Android, если она запущена).

Затем снова запустите Android Studio. Готово .

PS Я использую android studio 4.0

Сантану Сур
источник
для меня удаление всей папки .AndroidStudio3.3 помогло. Я думаю, что в процессе импорта это пошло не так.
Angel Koh
2
Также работает с Android 3.6.
Абдухафиз
1
Большое спасибо @Santanu Sur, он работает и на Android 3.6.2.
Ровинсан
1
C: \ Users \ your_user_name \ .AndroidStudio3.6 \ system
Джилиан Маркес,
Это сработало для меня, а также удалил папку .idea
Луис Агилар
37

Я получил свои предложения по автозаполнению, отключив кеши и перезапустив их.

File -> Invalidate Caches / Restart ... -> Select Invalidate and Restart.

user4989692
источник
Кажется, что аннулирование кешей / перезапуск решает все проблемы в Android Studio!
MMG
32

Эта же проблема появилась в версии 3.2. . Решение для этого

Close Android Studio
Go to C:\Users\UserName\.android and rename the build-cache folder to build-cache.bak

Go to C:\Users\UserName\.AndroidStudio3.2\system and rename these folders

caches to caches.bak

compiler to compiler.bak

compile-server to compile-server.bak

conversion to conversion.bak

external_build_system to external_build_system.bak

frameworks to frameworks.bak

gradle to gradle.bak

resource_folder_cache to resource_folder_cache.bak

Open the Android Studio and open your project again.
DHRUV GAJWA
источник
Это действительно работает. Нам просто нужно снова начать индексацию для студии Android. Like обнуление индекса
П Вартак
работает как шарм !! Спасибо, студия Android
сбросила
спасибо, чувак, у меня это сработало. Если кто-то столкнется с этой проблемой, я рекомендую этот ответ
Сайед Усама Ахмад
работал над android studio 4. аннулирование, перезапуск и удаление кешей не помогли мне, и через некоторое время я снова столкнулся с проблемой. но это сработало. tnx.
Реза
24

Если НИЧТО из вышеперечисленного не помогло ...

Просто перейдите в каталог установки студии Android, т.е.

yourDrive: /. AndroidStudio3.4 / system

сначала закройте студию Android, если она запущена.

затем удалите папку кеша в системе

Затем снова запустите Android Studio. Выполнено.

Я использую Android Studio 3.4

Gourav Singhal
источник
Действительно полезно, но сначала попробуйте следующие варианты, а затем попробуйте еще один.
Шахид Ахмад
Работает отлично. Теперь он даже правильно отображает ресурсы в виде предложений
Азизжон Холматов
Я все перепробовал, но ничего не получилось. Этот ответ предстает как спаситель.
Сударшан
4

Santanu Sur ответ работает для меня! Но в Windows я нашел эти папки в % USERNAME% /. AndroidStudio3.4 или % USERNAME% /. AndroidStudio3.3.

Я удалил эти две папки, и, наконец, все заработало.

Jordiz
источник
1
Работает отлично, но удаляет только папку кешей в [Пользователи> Имя пользователя> .AndroidStudio3.5> система].
Чираг Праджапати
2

Я попал в ситуацию, когда только EditText сломалась бирка. Я удалил папку .idea и все .iml , сделал недействительным кеш и перезапустил ... Что действительно сработало, так это стереть тег и ввести его снова. Действительно странно.

Хулио Родригес
источник
почему так важно удалить папку .idea, в чем логика
blackHawk 04
Итак, нам нужно было проверить, существует ли проблема во всех местах или в одном файле / в определенных файлах, а затем проверить неработающий код макета
Blue_Alien
2

Удаление папки Library / Application Support / AndroidStudio * и Invalidate Cache после этого мне помогло. Все остальные варианты не работали.

шутник
источник
2

Слишком поздно, на несколько лет, но я хотел дать ответ на этот вопрос, который я понял и сработал для меня. Это было очень быстро и не потребовало большой реконфигурации, как некоторые другие ответы здесь, поэтому я подумал, что добавлю его.

Решение

Прокомментируйте зависимости gradle для атрибутов xml, синхронизируйте проект, а затем отмените их комментирование и снова синхронизируйте. Для меня повторной синхронизации этих трех с комментариями, а затем без них было достаточно, чтобы они снова начали появляться.

//implementation 'com.android.support:appcompat-v7:27.1.1'
//implementation 'com.android.support.constraint:constraint-layout:1.1.3'
//implementation 'com.android.support:design:27.1.1'

И не беспокойтесь, если ваша сборка завершится неудачно после первого шага, так должно быть, если у вас уже есть какие-либо из этих атрибутов в вашем проекте. Еще одно замечание: атрибуты, которые я ранее вводил (без автозаполнения перед повторной синхронизацией), по какой-то причине нужно было повторно ввести.

Андреа деКандия
источник
1

В моем случае предложения завершения кода не появлялись, потому что в модуле моего приложения отсутствовала зависимость Gradle.

Я использовал android.support.design.widget.TabLayoutв своем XML-макете, но не добавил compile 'com.android.support:design:25.3.1'зависимость Gradle библиотеки поддержки дизайна в свой модуль приложения.

Сохаил
источник
1

Если у вас возникла эта проблема в ноябре 2018 года с Android Studio 3.2.1, попробуйте понизить ее до 3.1.4.

С 3.2.1 я попробовал все эти ответы и не сработал, но после того, как я понизил до 3.1.4 и сделал недействительные кеши / перезапуск, он работал нормально.

Тинчо825
источник
1

Я пробовал использовать опцию Invalid caches / restart, но у меня это не сработало. Для версий Android Studio 3> сначала проверьте следующее:

compileSdkVersion
targetSdkVersion
buildToolsVersion

Установите эти 3 на последнюю версию, а затем попробуйте синхронизировать проект и очистить ReBuild один раз. Он будет работать и показывать параметры автозаполнения редактора XML.

Амит Пандья
источник
1
Да. Работайте для меня с библиотекой androidx
Thomas VJ
1

Удалите всю папку `студии Android и перезапустите ее. Решать проблему

driveLocation: /. AndroidStudio3.3

.AndroidStudio3.3 может быть иначе в вашем случае

Сурадж Бахадур
источник
@ApilPokharel Great
Сурадж Бахадур
1

Одна из возможностей - проверить power modeв андроид студии. Перейти кFile > Power mode и проверьте, включен он или выключен. Если он включен, Вы также не получите никаких предложений. Чтобы получить предложения, он должен быть выключен.

Если это не сработает для вас, вам следует сбросить свою студию Android, которая установит для вас конфигурацию по умолчанию. Для этого найдите .AndroidStudioBetaили .AndroidStudioпапку и удалите их и перезапустите студию Android. Обычно вы попадаете в эту папку users\[user name]\.AndroidStudio3.3.

Дай мне знать, если это тебе поможет. Удачного кодирования ..!

реалпранав
источник
0

Решено удалением .androidStudioPreview1.X в моей домашней папке.

poopaou
источник
0

Я тоже попал в ситуацию, когда был сломан только тег EditText. Решение было найдено в разделе «Настройки»> «Редактор»> «Общие»> «Автоимпорт», где «Редактировать текст» был указан как исключенный из автоматического завершения. Удалите это, выбрав и щелкните знак минус.

ниша
источник
0

File -> Invalidate Caches / Restart ... -> Select Invalidate and Restart.

и включите режим энергосбережения, он работает

lllllllllllllll
источник
0

Лучше всего создать zip-папку проекта и изменить путь к нему (переместите этот проект, чем откройте его). Это сделает все необходимое.

Рохит Лалвани
источник
0

Отметьте 5 способов:

  1. Перезагрузите Android Studio

  2. File -> Invalidate Caches / Restart ... -> Select Invalidate and Restart.

  3. Файл -> выключите режим энергосбережения и перезапустите Android Studio.

  4. Удалите папку .idea. Найдите файлы * .iml, удалите все и используйте способ номер 2

Расул Мири
источник
0

Я тоже столкнулся с этой проблемой, и это происходило только в импортированном классе модуля. Пробовал все вроде удаления.idea папку power saver mode,invalidate cache and restart и т.д.

Наконец обновление compileSdkVersionиbuildToolsVersion модуля в соответствии с модулем приложения устранило проблему.

В моем случае я использовал:

  compileSdkVersion 29
  buildToolsVersion '29.0.3'
Ришаб Сагар
источник
0

Измените на более старую версию в build.gradle (Module: app). Убедитесь, что это тот, который находится в Gradle Script, а НЕ build.gradle (Project: yourproject). После получения предложений автозаполнения XML меняются на текущую версию.

Анкит Гупта
источник
0

Я пытаюсь понизить версию "Компилировать SDK" с 29 до 28, и она работает хорошо

fahrizal89
источник
-1

Для меня сработало переименование системной папки $ USERDIR / .AndroidStudio3.3 / и перезапуск AS.

smk
источник