首页 文章

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

提问于
浏览
1

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

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

我在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 回答

  • 2

    试试这个:

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

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

    我有一个方法可以使用

    NetworkManager.getInstance().addToQueueAndWait(request);

    此请求返回"id",我传递给 showBrowser(String id) .

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

    browser.setURL()browser.reload()

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

相关问题