我正在尝试使用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中使用它?
答案 0 :(得分:3)
尝试使用BorderLayout中心代替您的boxlayout,浏览器的初始大小可能只是0高度