以下类无法实例化:android.support.constraint.ConstraintLayout

4
我有一个使用Android Studio 3 Canary 4和最新版本的Gradle 4的基本布局,其中包含ConstraintLayout和一个TextView。
SDK版本:26
支持库版本:26.0.0-beta2

gradle

  implementation 'com.android.support.constraint:constraint-layout:1.0.2'

布局

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

  <TextureView
      android:id="@+id/textureView"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      tools:layout_editor_absoluteX="190dp"
      tools:layout_editor_absoluteY="232dp"
      app:layout_constraintTop_toTopOf="parent"
      app:layout_constraintBottom_toBottomOf="parent"
      app:layout_constraintHorizontal_bias="0.5"
      app:layout_constraintStart_toStartOf="parent"
      app:layout_constraintEnd_toEndOf="parent"
      />
</android.support.constraint.ConstraintLayout>

styles.xml

  <style name="AppThemeWhite" parent="Base.Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/white</item>
    <item name="colorPrimaryDark">@color/main_color_500</item>
    <item name="colorAccent">@color/white</item>
    <item name="android:textColorPrimary">@color/main_color_500</item>
    <item name="windowActionBar">false</item>
    <item name="android:windowLightStatusBar" tools:targetApi="m">true</item>
  </style>

  <style name="AppThemeWhite.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
  </style>

  <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar"/>

  <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light"/>

  <style name="AppTheme.PopupOverlay.white" parent="ThemeOverlay.AppCompat.Light">
    <item name="android:textColor">@color/black</item>
    <item name="colorPrimaryDark">@color/black</item>
    <item name="colorAccent">@color/black</item>
  </style>

  <!-- ToolBar -->
  <style name="ToolBaWhiterStyle" parent="Theme.AppCompat">
    <item name="android:textColorPrimary">@android:color/black</item>
    <item name="android:textColorSecondary">@android:color/black</item>
    <item name="actionMenuTextColor">@android:color/black</item>
  </style>

v21/styles.xml

   <resources>

  <style name="AppThemeWhite" parent="Base.Theme.AppCompat.Light.DarkActionBar">
    <item name="android:windowDrawsSystemBarBackgrounds">true</item>
    <item name="android:windowActionBarOverlay">true</item>
    <item name="android:windowContentOverlay">@null</item>
  </style>

  <style name="AppThemeWhite.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="android:statusBarColor">@android:color/transparent</item>
  </style>

</resources>

错误:

以下类无法实例化: - android.support.constraint.ConstraintLayout(打开类,显示异常,清除缓存)提示:在自定义视图中使用View.isInEditMode()跳过代码或显示示例数据以在IDE中显示。

异常细节java.lang.NoSuchFieldError: ConstraintLayout_Layout   at android.support.constraint.ConstraintLayout.init(ConstraintLayout.java:440)   at android.support.constraint.ConstraintLayout.(ConstraintLayout.java:420)   at java.lang.reflect.Constructor.newInstance(Constructor.java:423)   at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:733)   at android.view.LayoutInflater.inflate(LayoutInflater.java:495)   at android.view.LayoutInflater.inflate(LayoutInflater.java:397) 复制堆栈到剪贴板

2个回答

0

我也遇到了同样的问题。这与支持库26.0.0-beta2有关。将其降级为26.0.0-beta1即可解决问题。


-1

我一直在尝试让我的Android Studio渲染器在过去的两天内显示ContraintLayout。搜索解决方案使我导入各种包、依赖项和更新所有内容。

上述解决方案实际上解决了这个问题。

为了实施回滚,转到文件 -> 项目结构
点击依赖项,删除已添加的AppCompat。
点击+号并添加库。
搜索 "com.android.support:appcompat-v7:26.0.0-beta1"
同步和重新构建。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接