Pregunta

Quiero manejar y pulse la tecla pulsada la tecla para el (botón de retroceso) código de la llave KEYCODE_BACK. me puede sugerir cualquiera de cómo hacer esto en Android 1.5 (API de nivel 3).

Este es el código.

public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {

                if(event.getRepeatCount()==0) {
                   // normal key press
                   //Do something here
                   // But problem is, this code is hitting for long press also, how to avoid this
                } else {
                    // Long key press
                    //Do something here
                }
                // Always consume back key event by returning true
                //so that default behavior of back is overrided
                return true;
            }
        return super.onKeyDown(keyCode, event);
    }

El problema es el código para pulsación de tecla normal, también se ejecuta en la prensa de largo. Quiero evitar esto.

Nota: No se pueden utilizar métodos como onKeyLongPress(), startTracking() etc, ya que se introducen en el nivel 5 de la API

¿Fue útil?

Solución

El código real despacho de eventos no tiene un concepto de presiones largas y todo lo que hay que hacer es tiempo para ellos en el hilo principal de la aplicación, la aplicación puede obtener más lento lo suficiente para que no se actualización dentro de la pulsación larga tiempo de espera.

Esto se debe, no hay una verdadera manipulación presente con el androide 1.5 de pulsación de tecla. Éste consiguió introdujo con Android 2.0 una verdadera KeyEvent funciones de la API y de devolución de llamada para prensas largas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top