【发布时间】:2017-09-15 12:58:09
【问题描述】:
我正在尝试使用 Codename One 加载 WebView,但它无法在真正的 Android 设备上运行(尽管它在 Codename One 模拟器中工作 - 页面已加载)。
我已经尝试过 BrowserComponent 和 WebBrowser 都没有工作。代码是:
public class WebViewScreenOpR implements Runnable {
private String urlString;
public WebViewScreenOpR(String urlString) {
super();
this.urlString = urlString;
}
private Form webViewForm;
private void prepareAsWebBrowser() {
WebBrowser webBrowser = new WebBrowser(urlString);
webViewForm = new Form("Starlent", new BoxLayout(BoxLayout.Y_AXIS));
webViewForm.add(webBrowser);
}
private void prepareAsBrowserComponent() {
webViewForm = new Form("Starlent", new BoxLayout(BoxLayout.Y_AXIS));
BrowserComponent browserComponent = new BrowserComponent();
browserComponent.setURL(urlString);
webViewForm.add(browserComponent);
}
@Override
public void run() {
prepareAsBrowserComponent();
show();
}
private void show() {
webViewForm.show();
}
并显示它:
private class GoLiveButtonActionListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent evt) {
WebViewScreenOpR webViewScreenOpR = new WebViewScreenOpR("http://www.apple.com");
Display.getInstance().callSerially(webViewScreenOpR);
}
}
我也尝试过“reload()”和“setEnabled(true/false)”方法,但无济于事。
在使用真正的 Android 设备进行测试时,它会短暂显示一个进度对话框,其中包含文本“正在加载...”。对话框随即消失,什么也没有出现。我的代码有什么问题?如何让它在真正的 Android 中运行?
【问题讨论】:
-
我不确定这是否与问题有关:文档说“在 Android 上,此组件可能会显示本机进度指示器对话框。您可以使用调用禁用该功能。”。但是,我找不到任何关于如何禁用它的说明。什么“呼唤”?
标签: codenameone