Codenameone 代号一,can';t两次显示相同的浏览器组件
我面临以下例外情况:Codenameone 代号一,can';t两次显示相同的浏览器组件,codenameone,Codenameone,我面临以下例外情况: java.lang.IllegalArgumentException-组件已包含在Container:Container…中,当我尝试显示包含以前初始化(并显示)的浏览器组件的表单时 我想重新利用一个浏览器组件,以便在后续运行中跳过加载时间(总是有相同的内容,但有一些繁重的js) 代码流程可总结如下: BrowserComponent browser; private void show(){ Form f = new Form("name", new Borde
java.lang.IllegalArgumentException-组件已包含在Container:Container…
中,当我尝试显示包含以前初始化(并显示)的浏览器组件的表单时
我想重新利用一个浏览器组件
,以便在后续运行中跳过加载时间(总是有相同的内容,但有一些繁重的js)
代码流程可总结如下:
BrowserComponent browser;
private void show(){
Form f = new Form("name", new BorderLayout());
if(browser == null) // only initialise first time loaded
{
browser = new BrowserComponent();
browser.setURL("jar:///Folder/File.html");
}
Container centerBackground = BorderLayout.center(browser); //Exc source
f.add(CENTER, centerBackground);
f.show();
}
谢谢我最终解决了自己的问题
问题是,在将浏览器的父容器添加到布局之前,我没有删除它。修复方法包括在创建容器之前添加以下行:
browser.remove();