按下后退时 BrowserComponent / WebBrowser 不关闭

BrowserComponent / WebBrowser doesn't close when back is pressed

我在表单中使用 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();
}

试试这个:

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

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

我有一个使用

发出请求的方法

NetworkManager.getInstance().addToQueueAndWait(request);

这个请求 returns "id" 我传递给 showBrowser(String id).

当我删除这个请求时,浏览器运行良好。因此,作为一种解决方法,现在我用硬编码 link 显示浏览器表单,然后 after 显示表单(form.show()), 我提出请求并使用这个

更新浏览器

browser.setURL()browser.reload()

我不知道这有什么关系,但它解决了问题。