Android: sustituye el método desde una versión API superior y admite una versión API inferior.

Me gustaría escuchar una larga pulsación de teclas en mi aplicación de Android, y desde Android 2.0 hay un método

public boolean onKeyLongPress(int keyCode, KeyEvent event) 

para anular. Pero, ¿qué puedo hacer si mi aplicación tiene que admitir API 4 (Android 1.6)? Sé que puedo llamar a los métodos API con reflexión, pero estoy bastante seguro de que no puedo anular con la reflexión.

¿Por qué no acaba de eliminar la anotación @Override encima del método? Android 1.6 lo ignoraría, 2.0 todavía lo interpretaría correctamente.

Lo más fácil es escribir dos implementaciones de su clase de vista personalizada, digamos:

 MyCustomViewBasic extends View { private MySharedImplementation impl; } MyCustomViewKeyLongPress extends View { private MySharedImplementation impl; @Override public boolean onKeyLongPress(int keyCode, KeyEvent event) { // Do something exciting } } 

Estas dos implementaciones pueden compartir tantos detalles de implementación como sea posible, asegurando que todo lo que no esté disponible en el nivel 4 de API no esté en la implementación compartida.

Luego tiene dos diseños xml, uno para el nivel 4 de API y otro para API de nivel 4 y superior. Utilice MyCustomViewBasic en el diseño para el nivel 4 de API y MyCustomViewKeyLongPress en el de nivel 4 de API y superior

  • Anotación / decorador personalizado de Java @Testing
  • Set / Get Java List <> del código C
  • Custom SimpleAdapter sólo muestra texto de ejemplo Android
  • Array de escritura en Firebase android
  • Error: Error de ejecución para la tarea ': app: transformClassesAndResourcesWithProguardForDebug'
  • Icono grande ¿El mapa de bits aparece como un cuadro blanco en la notificación?
  • Android: solicitud de revisión de Volley HTTP
  • Avanzar a través del código de Android en el teléfono - discrepancia número de línea grande
  • Cómo leer una tarjeta inteligente / tarjeta de microprocesador utilizando un lector de tarjetas inteligentes en android mediante programación
  • ¿Cómo puedo aumentar la variable entera final?
  • NoSuchMethod con addAll en el adaptador?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.