android.view.View$OnUnhandledKeyEventListener

Lesezeit: 7 Minuten

Benutzer-Avatar
David Schmidt

Ich bin neu bei Android Studio und verstehe nicht, warum meine Symbolleiste nicht wie von beschrieben angezeigt wird https://developer.android.com/training/appbar/setting-up
Ich weiß, dass es bereits einige andere Fragen wie meine zu Stackoverflow gibt, aber sie funktionieren bei meinem Projekt nicht. Daher wäre ich sehr dankbar für die Behebung dieses Problems. Bildschirmfoto:

Bildschirmfoto

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.ViewUtils.isLayoutRtl(ViewUtils.java:58)
at android.support.v7.widget.Toolbar.onMeasure_Original(Toolbar.java:1578)
at android.support.v7.widget.Toolbar.onMeasure(Toolbar.java)
at android.view.View.measure_Original(View.java:22071)
at android.view.View_Delegate.measure(View_Delegate.java:80)
at android.view.View.measure(View.java:22035)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6602)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
at android.view.View.measure_Original(View.java:22071)
at android.view.View_Delegate.measure(View_Delegate.java:80)
at android.view.View.measure(View.java:22035)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
at android.view.View.measure_Original(View.java:22071)
at android.view.View_Delegate.measure(View_Delegate.java:80)
at android.view.View.measure(View.java:22035)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.measureView(RenderSessionImpl.java:590)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:343)
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)

Symbolleiste.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/colorPrimaryDark">

</android.support.v7.widget.Toolbar>

build.gradle (App-Ebene)

apply plugin: 'com.android.application'
android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.example.david.gamebase"
        minSdkVersion 21
        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-rc01'
    implementation 'com.android.support.constraint:constraint-layout:1.1.2'
    implementation 'com.google.firebase:firebase-auth:11.6.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'
}

apply plugin: 'com.google.gms.google-services'

style.xml:

   <resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

</resources>

## toolbar.xml ##

    <?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/colorPrimaryDark">

</android.support.v7.widget.Toolbar>

  • Können Sie Ihre Aktivitätsquelle einfügen, in der Sie dieses Layout mit Symbolleiste verwenden?

    – Kasim

    22. August 2018 um 1:05 Uhr

  • Das Layout selbst funktioniert nicht richtig. Wenn ich die XML-Datei im res-Ordner öffne, wird sie nicht in der Vorschau angezeigt

    – David Schmidt

    22. August 2018 um 9:11 Uhr


  • Mögliches Duplikat von android/view/view$onUnhandledKeyEventListener (onMeasure-Fehler)

    – Benutzer1506104

    13. Juli 2019 um 11:17 Uhr

Bei Verwendung von Android X und androidx.core:core und/oder androidx.appcompat:appcompataktualisieren androidx.core:core zu 1.4.0-alpha01 und/oder androidx.appcompat:appcompat zu 1.3.0-alpha01

  • Das hat bei mir funktioniert. In meinem Fall habe ich MaterialToolbar verwendet, das anscheinend das Problem verursacht hat. Ich verwende nur androidx.appcompat:appcompat und habe wie erwähnt von 1.1.0 auf 1.3.0-alpha01 aktualisiert. Das Problem wurde nach der Synchronisierung des Projekts behoben.

    – FraK

    27. Juli 2020 um 20:57 Uhr

  • Das Aktualisieren auf ‘com.google.android.material:material:1.4.0’ hat bei mir funktioniert. Ich war mit Version 1.3.0 und diese Version verursachte die Fehler. In diesem Material-Update haben sie androix.core von 1.2.0 auf 1.5.0 aktualisiert.

    – Luciano Brum

    5. Juli 2021 um 5:57 Uhr

Benutzer-Avatar
ArindamC

Nehmen Sie die Änderungen in Ihrem vor build.gradle (App-Ebene) um wie unten auf Version 27 herunterzustufen. Dann synchronisieren und Projekt erstellen. Hoffentlich wird das Problem behoben..

compileSdkVersion 27

targetSdkVersion 27

implementation 'com.android.support:appcompat-v7:27.1.1'

  • Es war damals die beste verfügbare Lösung, aber jetzt gibt es eine bessere: Upgrade auf Android Studio 3.2.

    – mhschmied

    16. November 2018 um 13:37 Uhr

  • @TatiOverflow Wenn es keine Lösungen sind, müssen Sie die richtigen Lösungen angeben

    – sasikumar

    13. März 2019 um 11:26 Uhr

  • @mhsmith Das passiert mir immer noch mit Android Studio 3.4.1

    – Akaisteph7

    7. August 2019 um 16:11 Uhr

  • @Akaisteph7 Das tut mir leid, aber leider habe ich keine andere Idee.

    – mhschmied

    7. August 2019 um 20:16 Uhr

  • Downgrade ist keine Lösung mehr. Ich verwende Android Studio 3.6.3 und habe dieses Problem immer noch.

    – Anbuselvan Rocky

    9. Mai 2020 um 10:08 Uhr

Wie von erwähnt DokumentationZuerst dein Activity sollte verlängert werden AppCompatActivity().

Zweitens in Ihrem Projekt styles, Base.Theme.AppCompat.Light.DarkActionBar gesetzt ist, was bedeutet, dass es eine hat DarkActionBar aber du hast schon eine Toolbar in deiner layout. Also einfach ändern:

Base.Theme.AppCompat.Light.DarkActionBar

zu:

Theme.AppCompat.Light.NoActionBar

Dann, (auf Java-Kotlin-Seite)richten Sie die ein Toolbar:

// Note that the Toolbar defined in the layout has the id "my_toolbar"
    setSupportActionBar(findViewById(R.id.my_toolbar))

Und gib die Toolbar eine ID.

<android.support.v7.widget.Toolbar
   android:id="@+id/my_toolbar"
   android:layout_width="match_parent"
   android:layout_height="?attr/actionBarSize"
   android:background="?attr/colorPrimary"
   android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
   app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>

Dann sollte es Ihnen gut gehen.

  • Der Hinweis zum Ändern von DarkActionBar in NoActionBar hat dazu geführt, dass der UI-Previewer für mich funktioniert, der auf API 28 abzielt und Androidx-Pakete verwendet. Soweit ich weiß, war keine Symbolleiste im Spiel (brandneues Projekt, generiert von AS 3.0.1), aber die Ausnahme war die ziemlich bizarre “java.lang.ClassNotFoundException: android.view.View$OnUnhandledKeyEventListener”, die von OP erwähnt wurde

    – CCJ

    10. Oktober 2018 um 17:05 Uhr

  • Ändern Theme.AppCompat.Light.DarkActionBar entfernt den Fehler für meine activity_main aber brach meine settings_activity

    – Elijah Mock

    9. Januar 2020 um 2:16 Uhr

Benutzer-Avatar
Donald Du

https://github.com/DonaldDu/FixUnhandledEvent

android.view.View$OnUnhandledKeyEventListener wird in api28 hinzugefügt.

Wenn das Laufzeitgerät unter 28 ist, kann die Klasse nicht gefunden werden, aber ohne schwerwiegenden Fehler ausgeführt werden.

Wir können die Klasse im Debug-Modus einfügen, um die Fehlermeldung zu ignorieren.

implementation 'com.android.support:appcompat-v7:28.0.0'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
//inject class when api<28 && debug==true
debugImplementation 'com.github.DonaldDu:FixUnhandledEvent:1.0'

Es ist kein Fehler, sondern eine Warnung, die durch Hinzufügen des folgenden Codes in my ignoriert werden kann build.gradle (App-Ebene) Die Datei funktioniert in meinem Fall. Synchronisieren und erstellen Sie dann das Projekt. Hoffentlich behebt es das Problem.

configurations.all {
  resolutionStrategy.eachDependency { DependencyResolveDetails details ->
    def requested = details.requested
    if (requested.group == "com.android.support") {
        if (!requested.name.startsWith("multidex")) {
            details.useVersion "26.+"
        }
    }
  }
}

Verweis auf das Wesentliche

Benutzer-Avatar
wie Judo

Herabstufung auf SDK 27 wie einer der anderen post vorgeschlagen hat, kam mit einer neuen Reihe von Problemen für mich. siehe: Android – Ressourcenverknüpfung fehlgeschlagen / fehlgeschlagene Verknüpfungsreferenzen

Das Hinzufügen eines Eintrags zu meiner build.gradle (App-Ebene) löste das Problem für mich.

dependencies {
    ...

    implementation 'androidx.core:core:1.5.0-alpha05'
    ...
}

Hier bin ich auf die Idee gekommen, das auszuprobieren:
https://github.com/android/sunflower/issues/295#issuecomment-649630057

Benutzer-Avatar
Junior Frosch

Es gibt ein Problem mit der Bibliothek ~-v7:28.0.0. Es gibt zwei Lösungen: Sie können entweder die Compile- und TargetSdkVersion auf 27 herunterladen oder Android Studio auf die neueste Version (3.2.x höher) aktualisieren.

  • Nö. Ich habe Android Studio 3.2.1 und sehe diesen Fehler immer noch.

    – Gen S

    22. Dezember 2018 um 7:48 Uhr

1223250cookie-checkandroid.view.View$OnUnhandledKeyEventListener

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy