我是Android Studio的新手,正在尝试创建新的工具栏,但是却收到“ java.lang.ClassNotFoundException”: 我在下面找到了可能的解决方案,但我不想将compileSdkVersion和targetSdkVersion从28降级到27。
android.view.View$OnUnhandledKeyEventListener
我什至没有在“ MainActivity.java”中编写任何代码。我刚刚创建了toolbar_layout.xml,无法预览任何内容!
如何解决此预览错误?
styles.xml
<resources>
<!-- 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>
</resources>
build.gradle(Module:app)
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.example.rob.toolbar"
minSdkVersion 16
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.android.support:design:28.0.0'
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'
}
MainActivity.java
package com.example.rob.toolbar;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
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"
tools:context=".MainActivity">
<include
layout="@layout/toolbar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</RelativeLayout>
toolbar_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar_layout"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/holo_red_dark">
</android.support.v7.widget.Toolbar>
异常消息:
java.lang.ClassNotFoundException:android.view.View $ OnUnhandledKeyEventListener 在org.jetbrains.android.uipreview.ModuleClassLoader.load(ModuleClassLoader.java:180) 在com.android.tools.idea.rendering.RenderClassLoader.findClass(RenderClassLoader.java:61) 在org.jetbrains.android.uipreview.ModuleClassLoader.findClass(ModuleClassLoader.java:118) 在java.lang.ClassLoader.loadClass(ClassLoader.java:424) 在java.lang.ClassLoader.loadClass(ClassLoader.java:357) 在org.jetbrains.android.uipreview.ModuleClassLoader.loadClass(ModuleClassLoader.java:213) 在android.support.v7.widget.ViewUtils.isLayoutRtl(ViewUtils.java:58) 在android.support.v7.widget.Toolbar.onMeasure_Original(Toolbar.java:1578) 在android.support.v7.widget.Toolbar.onMeasure(Toolbar.java) 在android.view.View.measure_Original(View.java:22071) 在android.view.View_Delegate.measure(View_Delegate.java:80) 在android.view.View.measure(View.java:22035) 在android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715) 在android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461) 在android.view.View.measure_Original(View.java:22071) 在android.view.View_Delegate.measure(View_Delegate.java:80) 在android.view.View.measure(View.java:22035) 在android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6602) 在android.widget.FrameLayout.onMeasure(FrameLayout.java:185) 在android.view.View.measure_Original(View.java:22071) 在android.view.View_Delegate.measure(View_Delegate.java:80) 在android.view.View.measure(View.java:22035) 在android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715) 在android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461) 在android.view.View.measure_Original(View.java:22071) 在android.view.View_Delegate.measure(View_Delegate.java:80) 在android.view.View.measure(View.java:22035) 在com.android.layoutlib.bridge.impl.RenderSessionImpl.measureView(RenderSessionImpl.java:590) 在com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:343) 在com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:384) 在com.android.tools.idea.layoutlib.LayoutLibrary.createSession(LayoutLibrary.java:193) 在com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:544) 在com.android.tools.idea.rendering.RenderTask.lambda $ inflate $ 3(RenderTask.java:678) 在java.util.concurrent.FutureTask.run(FutureTask.java:266) 在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617) 在java.lang.Thread.run(Thread.java:745)