Android Studio 3.1 does not render an XML file due to a Java class missing
Solution 1
Yes, it happens. You can fix it easily.
The first method:
Open build.gradle (Module: app) under Gradle Scripts and change version alpha3 to alpha1 and Sync now
implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'
The second method:
Open file style.xml under res → values → style.xml and change this line:
style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
Put Base.
before Theme.AppCompat.Light.DarkActionBar like
style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
Solution 2
- Use Alpha/Beta at your own risk
- You are developing an app, so you don't want to face these types of issues. So I suggest you always use the stable version of every dependency.
The issue you faced was due to using an alpha version of the AppCompat library. Use the stable version to get rid of this issue now and in the future.
1. Use the android.support
stable version
Currently 27.1.1 is the latest version of AppComactV7. You can see the Maven Repo link to find out the latest.
final def SUPPORT_VERSION = "27.1.1"
implementation "com.android.support:appcompat-v7:$SUPPORT_VERSION"
implementation "com.android.support:design:$SUPPORT_VERSION" // use only if already using
I use definitions to have the same version for all support versions. Also ignore the design library if you are not already using it.
2. Downgrade compileSdkVersion
and targetSdkVersion
(optional)
You also need to downgrade your compileSdkVersion
and targetSdkVersion
to remove some Gradle warnings.
So use the below versions.
compileSdkVersion 27
targetSdkVersion 27
Read about Alpha and Beta releases.
Solution 3
Go to
Gradle scripts>build.gradle(module app) > change 'com.android.support:appcompat-v7:28.0.0-alpha3' to 'com.android.support:appcompat-v7:28.0.0-alpha1'
You may have something other than alpha3 after "-v7:28.0.0-" whatever it is just change it to alpha1.
![Parsa Mahmoodi](https://lh3.googleusercontent.com/-p_t-oE9fhAA/AAAAAAAAAAI/AAAAAAAAAkE/uX1H7Tfpb0w/photo.jpg?sz=256)
Parsa Mahmoodi
Updated on July 18, 2022Comments
-
Parsa Mahmoodi almost 2 years
It always shows me this error in the massages:
java.lang.ClassNotFoundException: android.view.View$OnUnhandledKeyEventListener
My project is literally Hello, World! and I just open Android Studio and click on the empty activity and then wait for the build to finish, but it doesn't render the app.
I reinstalled Android Studio and JDK 10. But it doesn't work. The project shows fine in virtual device and I can even edit Hello, World! to any string, but in the XML view, it just shows a white screen:
.
Here is the stack trace:
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)
-
Parsa Mahmoodi almost 6 yearswow Thank you, ur a miracle, used the first method and it worked. really thank you
-
Jacqueline almost 6 yearsdon't forget to sync project with gradle build after
-
Sudhir Singh Khanger almost 6 yearsThis issue exists in
28.0.0-rc02
too and I want to useNoActionBar
and notDarkActionBar
. -
bl4ckr0se almost 6 yearsChange the version isn't a good solution, i had the same problem with v7:28.0.0-rc02
-
bl4ckr0se almost 6 yearsChange the version isn't a good solution, i had the same problem with v7:28.0.0-rc02 and v7:28.0.0-rc01, The definitive solution is change the parent "Theme.AppCompat.Light.DarkActionBar" with "Base.Theme.AppCompat.Light.DarkActionBar" in the style you use it in res/values/styles.xml
-
Hamed Ahmadi almost 6 yearsThis problem still remains. version: 28.0.0-rc02
-
Hamed Ahmadi almost 6 yearsIt is true. Until the stable version we should wait!
-
Leos Literak over 5 yearsand final version as well :-(