我在表单中使用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();
}
答案 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()
我不知道这是怎么相关的,但它解决了这个问题。