blackberry java-me

blackberry, realiza una llamada cuando se hace clic en la etiqueta



java-me (3)

Creo que el flujo de ejecución no ingresa a su método navigationClick() , y debido a este hecho obtiene información sobre herramientas en lugar de funcionalidad deseada.

Parece que el evento de clic no llega a la instancia de etiqueta, y se consume antes. Por ejemplo, por la instancia de la clase contenedor (pantalla / administrador).

Compruebe el método naviagationClick() de la instancia de la clase / administrador de la pantalla del contenedor y asegúrese de que la instancia de etiqueta obtiene el evento click.

Necesito hacer una etiqueta con un número en el que se pueda hacer clic para que cuando el usuario haga clic en la etiqueta se llame a un número de teléfono (o se muestre la opción de llamar al usuario). Cuando hago clic en la etiqueta en este momento, obtengo un tipo de menú de información sobre herramientas con la opción de copiar el número ...

private LabelField contactPhoneNumberField = new LabelField(number,Field.FOCUSABLE) { protected boolean navigationClick() { // write your code on click // make the call PhoneArguments callArgs = new PhoneArguments( PhoneArguments.ARG_CALL, number); Invoke.invokeApplication(Invoke.APP_TYPE_PHONE, callArgs); return true; } };


final LabelField contactPhoneNumberField = new LabelField("",Field.FOCUSABLE) { public boolean navigationClick (int status , int time){ PhoneArguments callArgs = new PhoneArguments( PhoneArguments.ARG_CALL, number); Invoke.invokeApplication(Invoke.APP_TYPE_PHONE, callArgs); return true;

}};

Después de jugar durante un tiempo, resultó que necesitaba agregar el estado int y los parámetros int time


Un pequeño consejo. No debe usar navigationClick () para manejar los clics. Sobreescriba el método navigationUnclick () en su lugar y maneje el Unclick.

  1. Esto se ajusta al comportamiento de la interfaz de usuario estándar. Casi todos los campos nativos como Buttons, listfields en blackberry hacen la acción en el unclick y no en el clic. Incluso los botones y enlaces en las ventanas siguen el mismo concepto.

  2. Si realiza alguna acción en el navigationClick () que cambia el foco, como pulsar una nueva pantalla, se llamará a la navegaciónUnclick en el nuevo campo en foco. Si ese campo es un Botón, se hará clic en ese botón.

  3. Si el foco no cambia, el navigationUnclick () regresará sin control. Esto hará que la navegación de la pantalla haga clic en Unhandled () que mostrará el "tipo de menú de información sobre herramientas".