Extensiones de Kotlin para Android y menu

¿Hay alguna manera de acceder al elemento de menu menu_item_search definido en fragment_photo_gallery layout usando properties sintéticas en lugar de utilizar el método findItem ?

override fun onCreateOptionsMenu(menu: Menu, menuInflater: MenuInflater) { super.onCreateOptionsMenu(menu, menuInflater) menuInflater.inflate(R.menu.fragment_photo_gallery, menu) //is there a way to access searchItem using synthetic properties? val searchItem = menu.findItem(R.id.menu_item_search) } 

MenuInflater tiene un propósito fundamentalmente diferente al de LayoutInflater .

A pesar de tener parte de "Inflater" en su nombre y methods de implementación que se denominan "inflate ()", hacen cosas completamente diferentes. MenuInflater infla Menu s, donde LayoutInflater infla View s.

Las extensiones de Kotlin para Android se crearon para simplificar el uso de Android Views, no de los menus de Android, ni de ningún otro que tenga el método inflate() .

Para resumir, no es posible usar KAE con los menus de Android.

  • El conflicto de las properties sintéticas de Kotlin
  • ¿Cuál es la diferencia entre arrayListOf y mutableListOf, cuál es mejor?
  • Clase Kotlin no encontrada
  • Crea controles dinámicamente en Android usando Kotlin
  • ¿Cuál es el equivalente de este código de java a kotlin
  • No se pueden agregar las extensiones de Kotlin para Android a mi proyecto
  • Kotlin sintético en adaptador o ViewHolder
  • Kotlin, Java, multidex, Dagger 2, Butterknife y Realm: transformClassesWithJarMergingForDebug: input duplicada: org / jetbrains / annotations / NotNull.class
  • Problemas al intentar generar la aplicación Kotlin con Android Studio
  • Error de puntero nulo al hacer reference a RecyclerView en un fragment con Kotlin
  • ¿Qué significa la advertencia «Usar properties de los packages de variante de compilation»?