【问题标题】:The following classes could not be instantiated: - androidx.constraintlayout.widget.ConstraintLayout无法实例化以下类:- androidx.constraintlayout.widget.ConstraintLayout
【发布时间】:2020-01-28 17:54:48
【问题描述】:

我刚刚恢复了一个项目,该项目被 Android Studio 破坏(崩溃并覆盖了除 MainActivity 之外的所有文件)。我使用了 V1.0(当前为 V3.1)的旧备份的一部分,并使用应用程序(Show Java)恢复了一些代码。问题是所有出现的约束布局都显示为灰色框。我正在使用

implementation "androidx.constraintlayout:constraintlayout:1.1.3"

我已经用谷歌搜索过了,但没有找到适合我的解决方案。

Example.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout  
    xmlns:android="http://schemas.android.com/apk/res/android"  
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:aapt="http://schemas.android.com/aapt" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent">

    <TextView
        android:textSize="18sp"
        android:gravity="center"
        android:id="@+id/reset_game_disclaimer"
        android:layout_width="346dp"
        android:layout_height="87dp"
        android:layout_marginTop="160dp"
        android:text="@string/reset_game_are_you_sure"
        app:layout_constraintEnd_toEndOf="0"
        app:layout_constraintStart_toStartOf="0"
        app:layout_constraintTop_toTopOf="0"/>

    <Button
        android:textSize="16sp"
        android:textColor="#ffffff"
        android:id="@+id/button_reset_game"
        android:background="@drawable/rounded_button"
        android:layout_width="200dp"
        android:layout_height="49dp"
        android:text="@string/reset_game"
        android:backgroundTint="#ffb00020"
        app:layout_constraintBottom_toBottomOf="0"
        app:layout_constraintEnd_toEndOf="0"
        app:layout_constraintStart_toStartOf="0"
        app:layout_constraintTop_toBottomOf="@+id/reset_game_disclaimer"
        app:layout_constraintVertical_bias="0.705"/>

</androidx.constraintlayout.widget.ConstraintLayout>

Stracktrace

java.lang.NoClassDefFoundError: androidx/constraintlayout/widget/R$styleable
at androidx.constraintlayout.widget.ConstraintLayout.init(ConstraintLayout.java:599)
at androidx.constraintlayout.widget.ConstraintLayout.<init>(ConstraintLayout.java:576)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.jetbrains.android.uipreview.ViewLoader.createNewInstance(ViewLoader.java:403)
at org.jetbrains.android.uipreview.ViewLoader.loadClass(ViewLoader.java:186)
at org.jetbrains.android.uipreview.ViewLoader.loadView(ViewLoader.java:144)
at com.android.tools.idea.rendering.LayoutlibCallbackImpl.loadView(LayoutlibCallbackImpl.java:309)
at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:418)
at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:429)
at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:333)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at android.view.LayoutInflater.inflate(LayoutInflater.java:394)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:323)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:394)
at com.android.tools.idea.layoutlib.LayoutLibrary.createSession(LayoutLibrary.java:200)
at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:572)
at com.android.tools.idea.rendering.RenderTask.lambda$inflate$5(RenderTask.java:698)
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)

【问题讨论】:

  • 尝试升级到最新版本。除此之外,将您的项目升级到 AndroidX
  • 为了进一步调查,您可以添加您的build.gradle 文件吗?

标签: android android-layout layout android-constraintlayout


【解决方案1】:

尝试将依赖升级到最新版本。还将您的项目升级到 AndroidX

dependencies {
    implementation "androidx.constraintlayout:constraintlayout:2.0.0-beta4"
}

选中this 将您的项目升级到AndroidX

【讨论】:

  • 我的项目已经迁移到 AndroidX 并且上面的依赖项工作了,除了具有透明背景的布局文件。我该如何解决?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-03-30
  • 2016-06-13
  • 2017-05-29
  • 1970-01-01
  • 2019-06-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多