android/view/view$onUnhandledKeyEventListener (onMeasure 错误)

Posted

技术标签:

【中文标题】android/view/view$onUnhandledKeyEventListener (onMeasure 错误)【英文标题】:android/view/view$onUnhandledKeyEventListener (onMeasure error) 【发布时间】:2018-12-20 16:53:44 【问题描述】:

我在 android Studio 3.1.3 中创建新项目时遇到问题, 每当我创建项目时,设计布局都会抛出错误消息:

加载 AppCompat ActionBar 失败,出现未知错误。

错误截图:

警告截图:

style.xml(出错时)-->

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="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>

我通过添加解决了:

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

如other post所示

但是当我需要添加工具栏时,我遇到了错误:

android/view/view$onUnhandledKeyEventListener

错误截图:

问题是应用程序没有操作栏,即使 style.xml 有适当的代码和工具栏也永远不会显示,即使通过更改 Layout_width、Layout_height 并将其约束到约束布局。

【问题讨论】:

【参考方案1】:

我找到了答案,但我不确定这是最好的答案。但这解决了所有问题。

该错误可能是由于 API 28.0.0-alpha3 中的错误导致的向后兼容性问题(我还不能完全确定)。

build.gradle(Module: app)(修复前)-->

build.gradle(Module: app)

compileSdkVersion 28

targetSdkVersion 28

实现'com.android.support:appcompat-v7:28.0.0-alpha3'

我通过将 API 版本降低到 27.1.1 并更改 compileSdkVersion、targetSdkVersion 和实现来修复错误。

build.gradle(Module: app)(修复错误后)-->

build.gradle(Module: app)

要修复错误,只需更改

compileSdkVersion 27

targetSdkVersion 27

实现'com.android.support:appcompat-v7:27.1.1'

然后重新构建 Gradle。这将清除所有关于 ActionBar 和工具栏的错误和警告。

no error and working toolbar

【讨论】:

对于所有这些想要使用最新材料组件(例如 MaterialCardView)的人来说,这不是一个选择。不幸的是,迁移到稳定的 Support 28.0.0 并不能解决上述问题。 渲染问题在 Android Studio 3.3 Canary 11 中消失了。不过我无法评论它的稳定性。 稳定的 Android Studio 3.2 可用,并且布局再次正常呈现,支持库版本 28.0.0。我还升级了buildToolsVersion '28.0.3',但没必要。

以上是关于android/view/view$onUnhandledKeyEventListener (onMeasure 错误)的主要内容,如果未能解决你的问题,请参考以下文章

(android.view.View$OnClickListener)' 在一个空对象引用 Kotlin

android/view/view$onUnhandledKeyEventListener (onMeasure 错误)

尝试调用虚拟方法 'void android.widget.Button.setOnClickListener(android.view.View$onClickListener)'

Android-View是否可见设置

Android Studio:尝试在空对象引用上调用虚拟方法“void android.view.View.setOnClickListener”

Appium 自动化测试:如何从 android [android.view.View] 中的自定义 UI 中获取元素或文本