按下后退时,BrowserComponent / WebBrowser不会关闭

时间:2016-05-26 16:55:04

标签: codenameone

我在表单中使用WebBrowser。当我按下后退按钮时,浏览器不会关闭(停留在GUI顶部),应用程序继续返回直到它到达第一个屏幕(我看到标题更改)

可能与之相关的另一个问题。如果我旋转了设备(浏览器窗体打开),则会显示上一个表单,浏览器将显示在其上面。

我在Android 5.0上测试了这个,在模拟器中运行良好。

public static void showBrowser(String id) {
    final Form form = new Form("browser");
    final WebBrowser browser = new WebBrowser();
    form.setBackCommand(new Command(" ") {
        @Override
        public void actionPerformed(ActionEvent evt) {
            //show another form
            Login.show();
        }
    });
    form.setLayout(new BorderLayout());
    browser.setURL("http://www.google.com");
    form.add(BorderLayout.CENTER, browser);
    form.show();
}

2 个答案:

答案 0 :(得分:2)

试试这个:

final WebBrowser browser = new WebBrowser();
    form.setBackCommand(new Command(" ") {
        @Override
        public void actionPerformed(ActionEvent evt) {
            browser.destroy();
            //show another form
            Login.show();
        }
    });

答案 1 :(得分:0)

我发现此问题与在显示浏览器表单之前发出请求有关。

我有一个使用

发出请求的方法

NetworkManager.getInstance().addToQueueAndWait(request);

此请求返回“id”,我将其传递给showBrowser(String id)

当我删除此请求时,浏览器运行正常。因此,作为一种解决方法,现在我使用硬编码链接显示浏览器表单,然后 后显示表单(form.show()),我发出请求并更新浏览器使用此

browser.setURL()browser.reload()

我不知道这是怎么相关的,但它解决了这个问题。