Codename One:BrowserComponent和WebBrowser在真正的Android设备上不起作用

时间:2017-04-19 10:37:19

标签: codenameone

我正在尝试使用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设备进行测试时,它会短暂显示一个带有“loading ...”文本的进度对话框。然后对话框消失,没有任何内容。我的代码出了什么问题?我怎样才能在真正的Android中使用它?

1 个答案:

答案 0 :(得分:3)

尝试使用BorderLayout中心代替您的boxlayout,浏览器的初始大小可能只是0高度