【问题标题】:I'm having a trouble with Missing CLASSES in Layout Preview我在布局预览中遇到了缺少类的问题
【发布时间】:2019-09-06 13:51:13
【问题描述】:

我遇到了缺课的问题。 “找不到以下课程:”让我恶心的消息。

我在 stackoverflow 的答案中尝试了大部分答案,但完全没有帮助。 我使用导航栏项目创建文件,然后将我的文件应用到 Firebase。

我尝试更改依赖项和样式文件。 这是我的依赖:

implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'
implementation 'com.android.support:design:28.0.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.google.firebase:firebase-analytics:17.2.0'
implementation 'com.firebaseui:firebase-ui-auth:4.3.1'
implementation 'com.google.firebase:firebase-messaging:20.0.0'
implementation 'com.google.firebase:firebase-auth:19.0.0'
implementation 'com.google.android.gms:play-services-auth:17.0.0'

implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'
implementation 'com.android.support:design:28.0.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.google.firebase:firebase-analytics:17.2.0'
implementation 'com.firebaseui:firebase-ui-auth:4.3.1'
implementation 'com.google.firebase:firebase-messaging:20.0.0'
implementation 'com.google.firebase:firebase-auth:19.0.0'
implementation 'com.google.android.gms:play-services-auth:17.0.0'

这是我的样式代码

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AppTheme.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" />

我已经将 Apptheme 部分 Theme.App 更改为 Base.Theme.App

并且还尝试了无效的缓存/重启方法的文件。

implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'
implementation 'com.android.support:design:28.0.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.google.firebase:firebase-analytics:17.2.0'
implementation 'com.firebaseui:firebase-ui-auth:4.3.1'
implementation 'com.google.firebase:firebase-messaging:20.0.0'
implementation 'com.google.firebase:firebase-auth:19.0.0'
implementation 'com.google.android.gms:play-services-auth:17.0.0'

这是xml文件

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout                         
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:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">

<include
layout="@layout/app_bar_main"
android:layout_width="match_parent"
android:layout_height="match_parent" />

<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer" />

</android.support.v4.widget.DrawerLayout>

这些是我的错误信息。它在预览错误中给出。

找不到以下类: - android.support.constraint.ConstraintLayout(   添加约束布局库依赖到项目,修复构建路径,编辑XML,创建类) - android.support.design.widget.AppBarLayout(修复构建路径、编辑 XML、创建类) - android.support.design.widget.CoordinatorLayout(修复构建路径、编辑 XML、创建类) - android.support.design.widget.FloatingActionButton(修复构建路径、编辑 XML、创建类) - android.support.design.widget.NavigationView(修复构建路径、编辑 XML、创建类) - android.support.v4.widget.DrawerLayout(修复构建路径、编辑 XML、创建类) - android.support.v7.widget.Toolbar(修复构建路径、编辑 XML、创建类)

有什么我可以尝试解决的吗? 还是我必须重置所有内容?

【问题讨论】:

标签: java android


【解决方案1】:
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

然后阅读AndroidX

您的 XML 将 -->

 <androidx.constraintlayout.widget.ConstraintLayout
 <com.google.android.material.navigation.NavigationView
 <androidx.cardview.widget.CardView
 <androidx.appcompat.widget.Toolbar
 <com.google.android.material.appbar.AppBarLayout
 <androidx.coordinatorlayout.widget.CoordinatorLayout

找不到以下类:- android.support.constraint.ConstraintLayout

然后使用

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

【讨论】:

  • @JaesukPark 重构->迁移到 AndroidX
  • 当我补充说它说它是无效的声明。我应该在 android x 中迁移吗?
  • 哇。它真的奏效了。所以问题是androidX迁移。实际上我第一次使用 API 28。它真的有帮助!
猜你喜欢
  • 2016-04-11
  • 1970-01-01
  • 2014-09-09
  • 2016-07-28
  • 1970-01-01
  • 1970-01-01
  • 2019-12-10
  • 2015-08-10
  • 1970-01-01
相关资源
最近更新 更多