【问题标题】:Android Studio Preview is blank or shows android...CoordinatorLayoutAndroid Studio Preview 为空白或显示 android...CoordinatorLayout
【发布时间】:2018-09-07 23:51:58
【问题描述】:

我是 Android 开发新手,但对编程并不陌生。

我只是想编写我的第一个应用程序并使用 Navigation Drawer Activity 作为主要 Activity 创建了一个空白项目。

问题是预览要么只显示 Android...CoordinatorLayout,要么什么都不显示,具体取决于我选择的主题。

如果我使用 AppCompat 作为主题,它会显示一个完全空白的屏幕,而当我使用 AppTheme 时,我会遇到 Android 问题...CoordinatorLayout 在屏幕中间。

我已经尝试将主题更改为 AppCompat。 我已经尝试将 AppCompat 的 build.gradle 实现更改为不同的版本。

在预览中,我可以看到一条信息,当我点击它时,它显示 2 次渲染问题和 1 次缺少样式,并且出现错误“无法实例化一个或多个类”内容如下:

The following classes could not be instantiated:

- android.support.v7.widget.ActionBarContainer (Open Class, Show Exception, Clear Cache)
- android.support.design.widget.CoordinatorLayout (Open Class, Show Exception, Clear Cache)
- android.support.design.widget.AppBarLayout (Open Class, Show Exception, Clear Cache)
- android.support.v7.widget.ActionBarContextView (Open Class, Show Exception, Clear Cache)
- android.support.v7.app.WindowDecorActionBar (Open Class, Show Exception, Clear Cache)

Tip: Use View.isInEditMode() in your custom views to skip code or show sample data when shown in the IDE.  
If this is an unexpected error you can also try to build the project, then manually refresh the layout.  Exception Details java.lang.ClassNotFoundException: android.view.View$OnUnhandledKeyEventListener Copy stack to clipboard

堆栈:

java.lang.ClassNotFoundException: android.view.View$OnUnhandledKeyEventListener
    at org.jetbrains.android.uipreview.ModuleClassLoader.load(ModuleClassLoader.java:180)
    at com.android.tools.idea.rendering.RenderClassLoader.findClass(RenderClassLoader.java:61)
    at org.jetbrains.android.uipreview.ModuleClassLoader.findClass(ModuleClassLoader.java:118)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at org.jetbrains.android.uipreview.ModuleClassLoader.loadClass(ModuleClassLoader.java:213)
    at android.support.v7.widget.ActionBarContainer.<init>(ActionBarContainer.java:62)
    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:481)
    at org.jetbrains.android.uipreview.ViewLoader.loadClass(ViewLoader.java:264)
    at org.jetbrains.android.uipreview.ViewLoader.loadView(ViewLoader.java:222)
    at com.android.tools.idea.rendering.LayoutlibCallbackImpl.loadView(LayoutlibCallbackImpl.java:209)
    at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:337)
    at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:348)
    at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:248)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
    at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:863)
    at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:837)
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
    at com.android.layoutlib.bridge.bars.BridgeActionBar.<init>(BridgeActionBar.java:89)
    at com.android.layoutlib.bridge.bars.AppCompatActionBar.<init>(AppCompatActionBar.java:68)
    at com.android.layoutlib.bridge.impl.Layout.createActionBar(Layout.java:277)
    at com.android.layoutlib.bridge.impl.Layout.<init>(Layout.java:161)
    at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:288)
    at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:384)
    at com.android.tools.idea.layoutlib.LayoutLibrary.createSession(LayoutLibrary.java:193)
    at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:544)
    at com.android.tools.idea.rendering.RenderTask.lambda$inflate$3(RenderTask.java:678)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

刷新没有任何作用。

请记住,这是一个刚刚从 Android Studio 本身创建的项目,我编写了任何代码行...

我知道有很多关于此的帖子,但任何一个都能够解决我的问题。

我希望有人可以帮助我。

顺便说一句:我使用 Kotlin 作为开发语言。

问候

【问题讨论】:

  • 你建好项目了吗?
  • 您使用的是哪个版本的android studiogradle?尝试使用最新版本清理并重建项目。
  • 那天我刚刚安装了Android Studio,所以我认为一切都应该是新的。

标签: java android android-studio kotlin


【解决方案1】:

我建议通过点击 Help--Check for Updates 将 android studio 和插件更新到最新版本,并使用向导重新创建 Navigation Drawer Activity。

如果仍然看不到布局预览,尝试修改应用主题如下:

<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
</style>

并在 AndroidManifest.xml 文件中添加以下行,如下所示:

<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

【讨论】:

  • 我已经拥有我更改的所有内容的最新版本,可以更改的内容。然后我重建,但遗憾的是没有任何改变。
  • 哦,天哪,我刚刚重新安装了所有内容,现在使用的是 Android 5.0 而不是 5.1,然后我进行了您所说的更改,并且成功了!非常感谢!!!
  • 当我说它可以工作时,我使用了一个空的 Activity,它可以使用它,但是,当我让 Android Studio 创建一个 Navigation Drawer Activity 时,它不起作用。那该怎么做呢?
【解决方案2】:

请按此步骤操作

     1- Go to your res folder and inside res folder.
            2-Go to values.
            3-Go to style.xml
            4-change  <!-- Base application theme. -->
          <style name="AppTheme"parent="Theme.AppCompat.Light.DarkActionBar">
     to 
<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">

【讨论】:

  • 它已经改变,但遗憾的是问题仍然存在......顺便说一句。我有 2 个 styles.xml 文件,其中一个是 (v21),但其中还有其他内容。
猜你喜欢
  • 1970-01-01
  • 2019-01-22
  • 2020-06-10
  • 2022-07-29
  • 1970-01-01
  • 2018-11-16
  • 2012-12-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多