java - getActionView 已弃用?

今天我决定将我的 android 应用从 Java 翻译成 Kotlin! :) 但是当我输入这个时我很惊讶:

val searchItem = menu.findItem(R.id.action_search)
val searchView = MenuItemCompat.getActionView(searchItem) as SearchView

Android Studio 告诉我:“'getActionView(MenuItem!):View!'已弃用。在 Java 中已弃用"

所以在问你解决方案之前,我问谷歌解决方案是什么,我相信我找到了解决方案:“直接使用 getActionView()。”

所以我像这样修改了我的代码:

val searchView = MenuItemCompat.getActionView() as SearchView

但是 getActionView() 还是越界了所以完全看不懂...

如果你能帮助我,我会很高兴 :) 谢谢!

最佳答案

Javadoc 说:

Use getActionView() directly.

因此,你应该做的是:

val searchView = searchItem.getActionView() as SearchView

https://stackoverflow.com/questions/45306133/

相关文章:

java - 安卓3.3.0更新,错误: Cause: invalid type code: 68

types - 为什么 Kotlin Array 不实现 Iterable

android - Kotlin Android 打印到控制台

hibernate - 如何使用 JpaRepository 进行批量(多行)插入?

kotlin - 如何抑制未经检查的强制转换警告?

properties - 将静态变量从 Java 转换为 Kotlin

kotlin - 我可以省略在 Kotlin 中不使用的接口(interface)方法吗?

java - 为什么可以在 Kotlin 的类之外编写函数?

kotlin - 如果事件是用 Kotlin 编写的,则按钮 onClick 属性为无

android - Kotlin - 如何在 "lateinit"和 "nullable varia