Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Blackberry 在BrowserField中加载文档时如何推送新屏幕?_Blackberry - Fatal编程技术网

Blackberry 在BrowserField中加载文档时如何推送新屏幕?

Blackberry 在BrowserField中加载文档时如何推送新屏幕?,blackberry,Blackberry,在我的应用程序中,我有一个登录屏幕。当用户输入正确的用户名和密码时,我必须从网站收集信息并导航到主屏幕 我尝试了以下代码。但是这个代码不起作用。如何实现 public final class MyScreen扩展主屏幕{ 公共MyScreen(){ BrowserFieldConfig myBrowserFieldConfig=新建BrowserFieldConfig(); myBrowserFieldConfig.setProperty(BrowserFieldConfig.NAVIGATIO

在我的应用程序中,我有一个登录屏幕。当用户输入正确的用户名和密码时,我必须从网站收集信息并导航到主屏幕

我尝试了以下代码。但是这个代码不起作用。如何实现

public final class MyScreen扩展主屏幕{
公共MyScreen(){
BrowserFieldConfig myBrowserFieldConfig=新建BrowserFieldConfig();
myBrowserFieldConfig.setProperty(BrowserFieldConfig.NAVIGATION_模式,
BrowserFieldConfig.NAVIGATION\u MODE\u指针);
BrowserField BrowserField=新建BrowserField(myBrowserFieldConfig);
BrowserFieldListener列表=新建BrowserFieldListener(){
加载的公共作废文档(BrowserField BrowserField,文档文档)引发异常{
字符串url=document.getBaseURI();
字符串val=”http://demo.....";
//我正在检查正确的url,我将导航到主屏幕
if(url.equals(新字符串(val))){
UiApplication.getUiApplication().pushScreen(new Main());//这里我得到了非法状态异常。。
}
System.out.println(“登录URL”+URL);
//super.documentLoaded(浏览器字段,文档);
}
};
browserField.addListener(列表);
添加(browserField);
字符串URL=”http://demo.....";
if(DeviceInfo.isSimulator()){
URL=URL+“deviceSide=true”;
}
请求内容(URL);
}
}
代替

  UiApplication.getUiApplication().pushScreen(new Main());
使用

您需要在ui线程下执行此操作。
检查它。

这不起作用。
-您的代码出了什么问题?写下运行此代码时的经验。您可以在
documentLoaded
方法的第一行设置断点进行调试。感谢您的推荐。我得到了IllegalArgumentException我如何才能推到新屏幕?IllegalArgumentException-你在哪里(在哪一行)得到这个?我在UiApplication.getUiApplication().pushScreen(new Main())中得到了IllegalStateException;行。。。
 UiApplication.getUiApplication().invokeLater(new Runnable()
                {
                    public void run() 
                    {
                        UiApplication.getUiApplication().pushScreen(new Main());
                    }
                });