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

时间:2017-06-29 11:06:55

标签: java android xml android-constraintlayout

我有一个带有constraintlayout和textview的基本布局,使用Android Studio 3 Canary 4和最新版本的Gradle 4

SDK:26

supportLibrary: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(Open Class,Show Exception,Clear Cache)提示:在自定义中使用View.isInEditMode()   视图在IDE中显示时跳过代码或显示示例数据。

     

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

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。支持库26.0.0-beta2存在问题。降级到26.0.0-beta1解决了这个问题。

答案 1 :(得分:-1)

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

solution above实际上解决了问题。

要实现回滚,请转到文件 - &gt;项目结构 单击Dependencies,删除那里的AppCompat。 按+号并添加库。 搜索&#34; com.android.support:appcompat-v7:26.0.0-beta1&#34; 重新同步和重建。