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 ..什么都没有用!


1
同样在这里,使用自定义库时xml自动完成无法正常工作
Damandeep 2015年

您解决了这个问题了吗?
dknchris

不幸的是,我还没有。支持库仍未填充。
hitch.united

2
相关错误报告:问题61844:自动完成功能停止工作。请加注星标,以便他们解决此问题。
理查德·勒·马苏里尔

1
@Varun哈哈,至少我们可以高兴地说今天的AS在今天的第一个版本之前是跨越式发展的
Richard Le Mesurier

Answers:


121

我尝试了很多事情(重启Android Studio,PC,无效缓存,省电模式等)。

最后,从项目中删除.idea文件夹和所有.iml文件,重新启动Android Studio,然后重新构建Gradle可以解决问题。XML支持库中的自动完成功能再次起作用。

从版本控制中检出文件或在新项目中复制所有源文件也可以解决问题。


6
有关此问题的常见答案对我也不起作用。我开始认为我只需要忍受它,直到找到答案。谢谢!
声音构想

4
感谢您的解决方案。需要通过浏览到物理文件夹本身来打开项目。Android Studio启动屏幕上的项目输入对我不起作用。
raevilman 2015年

1
这个方法对我有用,但是经过几天的编码,它似乎总是回来了。有人知道是否有办法找出它是如何损坏的吗?
timothyjc 2015年

同样...在最新版本的SDK 23,buildTools和支持库中,我在发布日志中看到,它们解决了一些问题,希望它能解决... :)
Marko

不工作。请使用此解决方案正常工作stackoverflow.com/a/54007742/4373587
Riyaz Parasara,

141

如果NONE上述答案有效,则...

只需导航到您的android studio安装目录即可,即

yourDrive:/.AndroidStudio3.3/system

删除缓存文件夹(如果正在运行,请先关闭android studio)。

然后再次启动Android Studio。完成

PS我正在使用Android Studio 4.0


对我来说,删除整个.AndroidStudio3.3文件夹可以解决问题。我认为在导入过程中它变得愚蠢了。
Angel Koh

2
同样适用于Android 3.6。
Abduhafiz

1
非常感谢@Santanu Sur,它也适用于Android 3.6.2。
罗文桑

1
C:\ Users \您的用户名\ .AndroidStudio3.6 \ system
Gilian Marques

这对我有用,并且还删除了.idea文件夹
Luis Aguilar

37

通过使缓存无效并重新启动,我得到了自动完成建议。

File-> Invalidate Caches / Restart ...->选择Invalidate and Restart


无效缓存/重启似乎可以解决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.

它确实有效。我们只需要再次开始为android studio建立索引。像重置指数
P Vartak

奇迹般有效!!谢谢,android studio重置了索引
Arif ardiansyah

谢谢,伙计,它对我有用。如果有人遇到这个问题,我建议您回答
Syed Usama Ahmad

在android studio 4上工作。无效,重新启动和删除缓存对我不起作用,一段时间后,我再次遇到问题。但这有效。tnx。
Reza

24

如果上述方法均无效...

只需导航到您的android studio安装目录即可,即

yourDrive:/。AndroidStudio3.4 / system

如果运行,请先关闭android studio。

然后删除系统中的缓存文件夹

然后再次启动Android Studio。做完了

我正在使用android studio 3.4


确实很有帮助,但请先尝试以下选项,然后再尝试其中一个。
沙希德·艾哈迈德

工作完美。现在它甚至可以正确显示资源作为建议
Azizjon Kholmatov

我尝试了一切,但没有任何效果。该答案显示为救星。
Sudarshan

4

Santanu苏尔答案对我的作品!但是在Windows中,我在%USERNAME%/。AndroidStudio3.4%USERNAME%/。AndroidStudio3.3中找到了这些文件夹

我删除了这两个文件夹,最后效果很好。


1
工作正常,但仅删除[用户>用户名> .AndroidStudio3.5>系统]下的缓存文件夹。
Chirag Prajapati

2

我遇到了只有EditText标签损坏的情况。我已经删除了.idea文件夹和所有.iml,使缓存无效并重新启动...实际的工作是删除标记并再次输入。真的很奇怪


为什么删除.idea文件夹很重要,这是什么逻辑
blackHawk

因此,我们必须检查问题是否存在于所有位置或单个文件/特定文件中,然后应检查损坏的布局代码
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年11月使用Android Studio 3.2.1遇到此问题,则应尝试将其降级为3.1.4。

使用3.2.1时,我尝试了所有这些答案,但均无济于事,但在降级至3.1.4并执行了“无效缓存/重新启动”后,它运行良好。


1

我尝试使用无效的缓存/重新启动选项,但对我而言不起作用。对于Android Studio 3>版本,请先检查以下内容:

compileSdkVersion
targetSdkVersion
buildToolsVersion

将这3个设置为最新版本,然后尝试同步项目并清理一次ReBuild。它将起作用并显示XML编辑器的自动完成选项。


1
是。使用androidx库为我工作
Thomas VJ

1

删除android studio的完整文件夹`,然后重新启动。解决这个问题

driveLocation:/。AndroidStudio3.3

.AndroidStudio3.3 您的情况可能有所不同


@ApilPokharel Great
Suraj Bahadur

1

一种可能性是检power mode入android studio。转到File > Power mode并检查它的打开或关闭。如果启用,您也将不会得到任何建议。要获得建议,必须关闭它。

如果对您不起作用,则应重置Android Studio,这将为您设置默认配置。为此,找出.AndroidStudioBeta.AndroidStudio文件夹并将其删除,然后重新启动android studio。通常,您会将这个文件夹放入users\[user name]\.AndroidStudio3.3

让我知道是否对您有帮助。祝您编码愉快!


0

通过删除主文件夹中的“ .androidStudioPreview1.X”来解决。


0

我也遇到了只有EditText标记损坏的情况。在“设置”>“编辑器”>“常规”>“自动导入”中找到了解决方案,其中“编辑文本”被列出为不包括在自动完成中。通过选择将其删除,然后单击减号。


0

File-> Invalidate Caches / Restart ...->选择Invalidate and Restart

然后打开省电模式



0

检查5种方法:

  1. 重新启动Android Studio

  2. File-> Invalidate Caches / Restart ...->选择Invalidate and Restart

  3. 档案->开启省电模式,然后重新启动Android Studio

  4. 删除.idea文件夹。搜索* .iml文件并删除所有这些文件并使用方式2


0

我也遇到了这个问题,这只发生在导入的模块类上。尝试了一切,如删除.idea文件夹,power saver modeinvalidate cache and restart,等。

最后更新compileSdkVersionbuildToolsVersion的模块,使其与应用程序模块匹配,从而解决了该问题。

就我而言,我正在使用:

  compileSdkVersion 29
  buildToolsVersion '29.0.3'

0

build.gradle(Module:app)中更改为较旧的版本-确保是Gradle Script下的版本,而不是build.gradle(Project:yourproject)。获取XML自动完成建议后,更改为当前版本。


0

我尝试将“ Compile SDK版本”从29降级到28,效果很好


-1

对我有用的是重命名$ USERDIR / .AndroidStudio3.3 / system文件夹并重新启动AS。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.