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.
- Cómo hacer la aplicación WhiteList en modo Doze Android 6.0
- ¿Cómo puedo contar el número de archivos con una extensión específica en Android?
- Nuevo error Relic Android con gradle
- ¿Por qué son las anotaciones bajo Android un problema de rendimiento (lento)?
- HttpURLConnection leyó InputStream dos veces
- Variable de ajuste dentro de onDataChange en Firebase (singleValue Listener)
- Java howto ArrayList push, pop, shift y unshift
- Android - Error al conectar con URI de inicio de sesión
- Android NDK: Llamada de funciones Java desde C ++
- La notificación de Android no muestra su contenido cuando la aplicación no se está ejecutando
- HashMap con valores débiles
- Ajuste el botón Visible en otro acticty con la configuración de Preferencias
- ¿Cómo escribir un mapa en un paquete?
¿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