扩展类androidx.constraintlayout.widget.ConstraintLayout时出错

时间:2018-06-10 12:44:15

标签: android androidx

使用Android Studio菜单选项Refactor - >迁移到Androidx软件包后重构到Androidx ......

我收到以下错误:

const Defaults = {
   ...
   option : value,
   ...
}
export default Defaults;

13 个答案:

答案 0 :(得分:52)

确保约束布局已更新为最新版本:

implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

并替换您的xml标记名称

<androidx.constraintlayout.ConstraintLayout>

使用

<androidx.constraintlayout.widget.ConstraintLayout>

使用此快捷方式在出现它的每个位置:

Windows: CTRL + SHIFT + R

Mac:命令 + SHIFT + R

答案 1 :(得分:23)

在AndroidStudio 3.3 RC2中,我通过升级来解决它-

implementation 'androidx.constraintlayout:constraintlayout:1.1.2'

implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

在build.gradle中(模块:应用)

注意:该解决方案也适用于3.3版本(根据FireZenk的以下评论)

答案 2 :(得分:19)

只需替换

Error inflating class androidx.constraintlayout.widget.ConstraintLayout

<androidx.constraintlayout.ConstraintLayout>

在项目的xml文件中。

您可以在mac (⇧⌘F或⇧⌘R)和Windows (Ctrl + Shift + R)

中使用Replace in Path快捷方式

enter image description here

答案 3 :(得分:7)

以我为例,我尝试了解决方案1 ​​,但该方法仍然无法正常工作。然后,我将解决方案2 解决方案1 ​​

解决方案1 ​​在应用级别build.gradle文件中更新当前版本的ConstraintLayout。

来自

implementation 'androidx.constraintlayout:constraintlayout:1.1.2'

implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

解决方案2 使缓存无效并重新启动Android Studio(如果在应用解决方案1 ​​后仍然无法正常工作)。

  

文件-> 使缓存无效/重新启动-> 无效并重新启动

我都用了它们,对我来说很好用。

  

注意: 解决方案1 ​​很重要。

答案 4 :(得分:4)

我也面临这个问题。仅对于 constraintlayout依赖版本 ,才会出现此问题。 使用1.1.3版本并希望您的问题得到解决:

implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

答案 5 :(得分:2)

由于Android Studio已更新至3.3,因此将弹出此错误。我通过在应用程序级别的build.gradle中升级约束布局的版本来解决它:

implementation 'androidx.constraintlayout:constraintlayout:1.1.2'

TO

implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

答案 6 :(得分:1)

我遇到了同样的问题,上面的解决方案都没有奏效。事实上,问题是由当应用程序使用 ActionBar 来 setTitle() 时切换到 NoActionBar 主题后抛出的空指针异常引起的。 The linked stack overflow answer helped me figure it out

答案 7 :(得分:0)

Android Studio已更新版本3.3。请删除先前版本的ConstraintLayout

我的案子使用了

implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha3'

谢谢

答案 8 :(得分:0)

就我而言,我只需要将 androidx 依赖项更新为最新版本。

编辑,您必须在build.gradle(应用程序)中查找包含androidx的依赖项。 Android Studio将向您显示有关这些依赖项的最新版本的信息。仅使用该信息即可更改依赖项版本。

答案 9 :(得分:0)

有两种添加ConstraintLayout的方法:

implementation 'com.android.support.constraint:constraint-layout:2.0.0-alpha3'

然后您需要像这样使用它:

<android.support.constraint.ConstraintLayout
        ...>

</android.support.constraint.ConstraintLayout>

或使用androidx:

implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha3'

然后您需要使用

<androidx.constraintlayout.widget.ConstraintLayout
        ...
        >

</androidx.constraintlayout.widget.ConstraintLayout>

请勿将两者混在一起。

答案 10 :(得分:0)

在AndroidStudio 3.4中,我不得不降级为

implementation 'androidx.constraintlayout:constraintlayout:1.1.2'

让它重新工作。

答案 11 :(得分:0)

奇怪的是,它在我将androidx.appcompat:...'库升级到

时起作用

'androidx.appcompat:appcompat:1.1.0-alpha05'(具有约束布局版本) 'androidx.constraintlayout:constraintlayout:1.1.3'在Android Studio 3.3上

答案 12 :(得分:0)

我将Android Studio 4.1和该库用于约束布局:

实现'androidx.constraintlayout:constraintlayout:2.0.4'

已于20年11月9日更新,并且在扩大约束布局时出现相同的错误。

就我的情况而言,我在Samsung a40应用程序上运行正常,但在ZTE nubia n1应用程序上立即崩溃。 我发现问题出在布局背景图像上,因为我的png图像对于屏幕分辨率与Samsung a40不同的旧设备来说太大了。 我通过文件资源管理器(可绘制-右键单击-在资源管理器中显示)导入了背景png图像,实际上是有问题的。

我尝试使用Android Drawable Importer导入图像,但我注意到此插件在Android Studio上不再起作用。

与Android可拖动导入程序有关的解决方案:

如果您已经在Android Studio上安装了Android Drawable Importer,请先将其卸载,然后再开始修复过程。 要修复Android Drawable Importer,您需要使用ADI-hack-plugin,您可以通过跟踪Thomas Samoul上的youtube视频来获得它。

修复Android Drawable Importer之后,只需使用它导入图像,一切都会正常运行。