Android Studio FloatingActionButton错误

问题描述 投票:30回答:7

我昨天安装了Android Studio,在与多个java和其他错误作斗争后,我遇到了一个我似乎无法解决的错误。我没有添加任何内容或完成任何代码,我只是刚刚开始一个新项目,我通过电话在预览中收到此错误:

渲染问题:

The following classes could not be instantiated:
- android.support.design.widget.FloatingActionButton

接下来是一堆异常细节。所有的帮助表示赞赏,我变得绝望。另外,请具体说明复杂的答案,因为我对此还不是很了解。

如果需要异常详细信息:

android.content.res.Resources$NotFoundException: Unable to find resource ID #0x1080029
    at android.content.res.Resources.getResourceName(Resources.java:2235)
    at android.content.res.Resources.loadDrawableForCookie(Resources.java:2602)
    at android.content.res.Resources.loadDrawable(Resources.java:2540)
    at android.content.res.Resources.getDrawable(Resources.java:806)
    at android.content.Context.getDrawable(Context.java:458)
    at android.support.v4.content.ContextCompatApi21.getDrawable(ContextCompatApi21.java:26)
    at android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:321)
    at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:180)
    at android.support.v7.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:70)
    at android.support.v7.widget.AppCompatImageHelper.loadFromAttributes(AppCompatImageHelper.java:39)
    at android.support.v7.widget.AppCompatImageButton.<init>(AppCompatImageButton.java:65)
    at android.support.design.widget.VisibilityAwareImageButton.<init>(VisibilityAwareImageButton.java:37)
    at android.support.design.widget.FloatingActionButton.<init>(FloatingActionButton.java:109)
    at android.support.design.widget.FloatingActionButton.<init>(FloatingActionButton.java:105)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
    at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:835)
    at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:811)
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:394)
java android android-studio
7个回答
58
投票

我今天也遇到了这个问题,

检查你的build.gradle文件,你使用支持设计lib版本23.2,就像

compile 'com.android.support:design:23.2.0'

如果是这样,请将其更改为版本23.1.0

compile 'com.android.support:design:23.1.0'

然后重建你的项目...似乎版本23.2仍然是错误的


16
投票

除了@Handrata Samsul的答案中详述的更改之外,我还必须在build.gradle文件中进行另一项更改。

修改:

compile 'com.android.support:appcompat-v7:23.2.0'

成为:

compile 'com.android.support:appcompat-v7:23.1.0'

因此,所有变化的总和如下:

compile 'com.android.support:appcompat-v7:23.1.0'
compile 'com.android.support:design:23.1.0'

谢谢。


4
投票

这对我有用:

我改变了build.gradle文件。

compile 'com.android.support:design:23.2.0'

compile 'com.android.support:design:23.1.0'

然后清理,重建,然后“刷新”每个布局文件。布局编辑器右上角的刷新按钮。


1
投票

android.content.res.Resources $ NotFoundException:无法找到资源ID#0x1080029

无法找到请求的资源时,资源API会抛出此异常。

您应该使用稳定版本。然后您可以开始使用具有单个新依赖项的Design库:

compile 'com.android.support:design:23.1.0'

然后Clean-Rebuild-Sync你的IDE。希望这会有所帮助。

compile 'com.android.support:design:23.2.0'

版本23.2.0是马车。它不稳定。你应该去稳定的版本23.1.0


0
投票

如果发生以下任何事情,则会弹出该错误:

  1. 您没有安装最新的SDK版本。确保您拥有正确的版本。您需要安装Android M才能使用浮动操作按钮。 (使用Android SDK安装程序)
  2. 你的gradle依赖是错误的。

如果您是Android Studios的新手,可能问题是1和2。

对于第二个问题,请转到您的gradle文件并将其放入:

dependencies {
    compile 'com.android.support:design:23.0.0'
}

这应该解决问题。


0
投票

还会更新您用于编译的gradle版本,例如2.13而不是2.9 / 2.10通常没有更高的支持库

最简单的方法是在main build.gradle中执行gradle任务:

task wrapper(type: Wrapper) {
  gradleVersion = '2.13'
}

然后运行它

gradle wrapper

0
投票

配置compile已过时,已被implementationapi取代。

你应该使用:

implementation 'com.android.support:design:23.0.0'

要么:

implementation 'com.android.support:design:28.0.0'

根据您的compileSDK版本而不是:

compile 'com.android.support:design:23.0.0'
© www.soinside.com 2019 - 2024. All rights reserved.