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 Studio:尝试在空对象引用上调用虚拟方法“void android.view.View.setOnClickListener”
Appium 自动化测试:如何从 android [android.view.View] 中的自定义 UI 中获取元素或文本