android.view.view$OnUnhandledKeyEventListener

android.view.view$OnUnhandledKeyEventListener,android,android-toolbar,keyevent,unhandled,Android,Android Toolbar,Keyevent,Unhandled,我是Android Studio的新手,我不明白为什么我的工具栏没有按照 我知道在stackoverflow上已经有一些像我一样的问题,但它们在我的项目中不起作用。因此,我将非常感谢解决这个问题。截图: toolbar.xml style.xml: @颜色/原色 @颜色/原色暗 @颜色/颜色重音 ##toolbar.xml## 如所述,首先,您的活动应扩展自AppCompatActivity() 其次,在您的项目styles中,设置了Base.Theme.AppCompat.Light.da

我是Android Studio的新手,我不明白为什么我的工具栏没有按照 我知道在stackoverflow上已经有一些像我一样的问题,但它们在我的项目中不起作用。因此,我将非常感谢解决这个问题。截图:

toolbar.xml style.xml:

@颜色/原色
@颜色/原色暗
@颜色/颜色重音
##toolbar.xml##
如所述,首先,您的
活动应扩展自
AppCompatActivity()

其次,在您的项目
styles
中,设置了
Base.Theme.AppCompat.Light.darkaActionBar
,这意味着它确实有一个
darkaActionBar
,但您的
布局中已经有一个
工具栏
。因此,简单地说,改变:

Base.Theme.AppCompat.Light.DarkActionBar
致:

然后,(在java kotlin端)设置
工具栏

// Note that the Toolbar defined in the layout has the id "my_toolbar"
    setSupportActionBar(findViewById(R.id.my_toolbar))
并给
工具栏
一个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"/>


然后你就可以开始了。

在你的build.gradle(应用程序级)中进行更改,降级到版本27,如下所示。然后同步并构建项目。希望它能解决这个问题

编译DK27版

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

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

库~-v7:28.0.0有问题。有两种解决方案,您可以将compile和targetSdkVersion下载到27,或者将Android Studio升级到最新版本(3.2.x更高版本)。

这不是一个错误,而是一个警告,在我的build.gradle中添加以下代码可以忽略它。该文件适用于我的情况。然后同步并构建项目。希望它能解决这个问题

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

您可以轻松修复它

implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'
并在“值”下打开style.xml并更改为

style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">

将multidex支持库添加到依赖项中

com.android.support:multidex:1.0.3

view.view$OnUnhandledKeyEventListener是api28中的插件

如果运行时设备低于28,则找不到该类,但运行时不会出现致命错误

我们可以在调试模式下注入类以忽略错误消息

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'
实现'com.android.support:appcompat-v7:28.0.0'
实现“org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_版本”

//如果使用Android X和androidx.core:core和/或androidx.appcompat:appcompat
,则在api时注入类,更新
androidx.core:core
1.4.0-alpha01
和/或
androidx.appcompat:appcompat
1.3.0-alpha01

降级到sdk27,因为另一篇帖子建议我遇到了一系列新问题。 见:

在my build.gradle(应用程序级别)中添加条目为我解决了这个问题

dependencies {
    ...

    implementation 'androidx.core:core:1.5.0-alpha05'
    ...
}
这就是我想尝试的地方:

能否粘贴使用此包含工具栏的布局的活动源?该布局本身工作不正常。当我在res文件夹中打开xml文件时,它没有显示在预览中。关于将DarkActionBar更改为NoActionBar的说明的可能副本使UI预览器针对API 28和使用androidx包为我工作。据我所知,没有工具栏(由as 3.0.1生成的全新项目),但例外是相当奇怪的“java.lang.ClassNotFoundException:android.view.view$OnUnhandledKeyEventListener”OpChangeing
Theme.AppCompat.Light.DarkActionBar
删除了我的
activity\u main的错误,但破坏了我的
settings\u activity
这是当时可用的最佳解决方案,但现在有一个更好的解决方案:升级到Android Studio 3.2。如果不是解决方案,你必须告诉我正确的答案solutions@mhsmith在Android Studio 3.4中,这仍然发生在我身上。1@Akaisteph7听到这个消息我很难过,但不幸的是我没有任何其他想法。降级不再是一个解决办法。我正在使用Android Studio 3.6.3,但仍然遇到这个问题。不。我有Android Studio 3.2.1,但仍然看到这个错误。当回答一个如此流行的问题时,一点解释是非常受欢迎的。这对我来说很有效。在我的例子中,我使用的是MaterialToolbar,它似乎是导致问题的原因之一。我只使用了androidx.appcompat:appcompat,我从1.1.0更新到了1.3.0-alpha01,如前所述。该问题在同步项目后得到解决。添加建议的Gradle依赖项为我解决了该问题。最新版本的AndroidX Core可在以下位置找到:
style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
com.android.support:multidex:1.0.3
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'
dependencies {
    ...

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