navegador deshabilitar boton atras actualizar java blackberry browser blackberry-simulator

atras - deshabilitar boton actualizar del navegador javascript



Clic atrĂ¡s del navegador Blackberry (4)

Esta es la solución para la parte posterior cuando hace clic en atrás (ESC), entonces le ayudará Nota: Disponible os5.0 posterior

import net.rim.device.api.browser.field2.BrowserField; import net.rim.device.api.browser.field2.BrowserFieldConfig; import net.rim.device.api.browser.field2.BrowserFieldHistory; import net.rim.device.api.ui.container.MainScreen; import net.rim.device.api.ui.container.VerticalFieldManager; public class NewsBrowserScreen extends MainScreen { String url="http://stackoverflow.com"; VerticalFieldManager vertical; BrowserField browserField; BrowserFieldConfig browserFieldConfig; BrowserFieldHistory browserFieldHistory; // BrowserSession browserSession; public NewsBrowserScreen(int current_index,int popup,String url) { createGUI(); } private void createGUI() { vertical=new VerticalFieldManager(VERTICAL_SCROLL|VERTICAL_SCROLLBAR|HORIZONTAL_SCROLL|HORIZONTAL_SCROLLBAR); browserFieldConfig=new BrowserFieldConfig(); browserFieldConfig.setProperty(BrowserFieldConfig.NAVIGATION_MODE, BrowserFieldConfig.NAVIGATION_MODE_POINTER); browserField=new BrowserField(browserFieldConfig); browserFieldHistory=browserField.getHistory(); vertical.add(browserField); add(vertical); browserField.requestContent(url); } public boolean onClose() { if(browserFieldHistory.canGoBack()) { browserFieldHistory.goBack(); return true; } else { browserFieldHistory.clearHistory(); return super.onClose(); } } }

Estoy tratando de volver a la página anterior después de cargar un navegador, pero se requieren tres clics hacia atrás para hacerlo. Traté de anular el clic en el botón Atrás, pero todavía se necesitan tres clics. Usé el siguiente código para cargar el navegador:

BrowserSession browserSession; browserSession = Browser.getDefaultSession(); try{ browserSession.displayPage(mapLocation); }catch(Exception e){ e.printStackTrace(); }

EDITAR copiado de la respuesta por el usuario:

Quiero ir a la pantalla anterior, no a la página anterior en el navegador. El código para el botón Atrás:

protected boolean keyDown(int keycode, int status) { if(Keypad.key(keycode) == Keypad.KEY_ESCAPE) { _theApp.popScreen(this); return true; } return false; }


El código es el siguiente

protected boolean keyDown(int keycode, int time) { ////keycode for back button if(keycode == 1769472) { UiApplication.getUiApplication.popscreen(); return true; } else { return super.keyDown(keycode, time); } }


cada vez que haga algo, intente actualizar currentLayoutState y previousLayoutState (agregue esos vars a su aplicación) y luego anule onBackPressed () si está en android o onKeyPress () si no, e intente hacer la transición a previousState si es diferente del estado actual.

Supongo que estás haciendo un seguimiento de los estados en algún lugar, ¿verdad?

EDITAR: veo que no se trata de estados. no debería hacer mucha diferencia, espero que entiendas la idea :)


Para volver a la página anterior puede intentar lo siguiente:

UiApplication.getUiApplication().popScreen(UiApplication.getUiApplication().getActiveScreen());

Espero que sea util.