Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.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 如何在循环内的活动期间刷新字段?_Blackberry - Fatal编程技术网

Blackberry 如何在循环内的活动期间刷新字段?

Blackberry 如何在循环内的活动期间刷新字段?,blackberry,Blackberry,我正在尝试下载图像并在5x5网格中显示它们,我希望每个图像在下载后立即显示出来 我有一个VerticalFieldManager,我在其中添加了5个HorizontalFieldManagers。下载每个图像时(使用HttpConnection),我将其转换为位图,然后将其放置在位图字段中,然后将该字段添加到水平字段管理器中的一个 这是可行的,除了在下载了所有25张图片之后,我才看到任何一张图片,在这一点上我看到了所有的图片 在下载每个图像后,我尝试调用invalidate(),但似乎没有任何效

我正在尝试下载图像并在5x5网格中显示它们,我希望每个图像在下载后立即显示出来

我有一个
VerticalFieldManager
,我在其中添加了5个
HorizontalFieldManager
s。下载每个图像时(使用
HttpConnection
),我将其转换为
位图
,然后将其放置在
位图字段
中,然后将该字段添加到
水平字段管理器
中的一个

这是可行的,除了在下载了所有25张图片之后,我才看到任何一张图片,在这一点上我看到了所有的图片


在下载每个图像后,我尝试调用
invalidate()
,但似乎没有任何效果

您正在从UI事件线程下载吗?如果没有,下载将阻止所有UI更新,直到完成,这将解释您看到的行为

根据评论中的新信息进行编辑:

是阻塞,因此您需要在UI线程之外的线程上执行IO操作。您的应用程序下载图像的速度足够快,因此阻止UI线程不会杀死整个应用程序。如果连接速度较慢,则在进行这些下载时,您的应用程序将被操作系统杀死

此接口执行阻塞输入和输出操作。如果此接口的实现从主事件线程中打开连接,则应用程序将锁定。通过从与主事件线程分离的线程中打开连接来防止应用程序锁定。有关详细信息,请参见连接器


您正在从UI事件线程下载吗?如果没有,下载将阻止所有UI更新,直到完成,这将解释您看到的行为

根据评论中的新信息进行编辑:

是阻塞,因此您需要在UI线程之外的线程上执行IO操作。您的应用程序下载图像的速度足够快,因此阻止UI线程不会杀死整个应用程序。如果连接速度较慢,则在进行这些下载时,您的应用程序将被操作系统杀死

此接口执行阻塞输入和输出操作。如果此接口的实现从主事件线程中打开连接,则应用程序将锁定。通过从与主事件线程分离的线程中打开连接来防止应用程序锁定。有关详细信息,请参见连接器

1) 您应该在单独的(非UI)
线程
上下载并创建
位图字段

2) 如果要添加位图字段,请执行以下操作:

最终位图字段b=…//获取位图字段的代码
UiApplication.getUiApplication().invokeAndWait(新的Runnable()){
公开募捐{
添加(b);
yourContainer.invalidate();//可能不需要这个-请尝试注释
}
});
1)您应该在单独的(非UI)
线程上下载并创建
位图字段

2) 如果要添加位图字段,请执行以下操作:

最终位图字段b=…//获取位图字段的代码
UiApplication.getUiApplication().invokeAndWait(新的Runnable()){
公开募捐{
添加(b);
yourContainer.invalidate();//可能不需要这个-请尝试注释
}
});

是,但每次下载都是独立的(我为每个图像创建并使用不同的HttpConnection对象)。我试图做的是在每次下载完成后更新UI。我假设我需要调用类似Windows的DoEvents,它允许发送任何与UI相关的挂起消息。是的,但每次下载都是独立的(我为每个映像创建并使用不同的HttpConnection对象)。我试图做的是在每次下载完成后更新UI。我假设我需要调用Windows的DoEvents之类的东西,它允许发送任何与UI相关的未决消息。