如何在blackberry中停止progressbar
在BlackBerry中,我的应用程序运行得非常好。但一个要求是,当我从服务器加载数据时,会显示一个进度条。如果从服务器加载数据花费了这么多时间,那么我想停止进度条。在BlackBerry中,按下back键时,它不工作。请帮帮我如何在blackberry中停止progressbar,blackberry,progress-bar,blackberry-simulator,blackberry-jde,Blackberry,Progress Bar,Blackberry Simulator,Blackberry Jde,在BlackBerry中,我的应用程序运行得非常好。但一个要求是,当我从服务器加载数据时,会显示一个进度条。如果从服务器加载数据花费了这么多时间,那么我想停止进度条。在BlackBerry中,按下back键时,它不工作。请帮帮我 public类WaitScreen扩展了弹出式屏幕 { 公共等待屏幕(字符串消息){ super(新HorizontalFieldManager()); 添加(新LabelField(msg)); AnimatedGIFField testanimated=新的Anim
public类WaitScreen扩展了弹出式屏幕
{
公共等待屏幕(字符串消息){
super(新HorizontalFieldManager());
添加(新LabelField(msg));
AnimatedGIFField testanimated=新的AnimatedGIFField(
(GIFEncodedImage)(GIFEncodedImage.getencodedimagesource(“ajax_loader.gif”),
AnimatedGIFField.FIELD|HCENTER | AnimatedGIFField.FIELD|VCENTER);
添加(测试化);
}
}
您使用的是哪种进度条?@MisterSmith..我使用了一个屏幕(等待屏幕),我使用了动画GIF字段和一个包含进度条img的GIF。我正在编辑我的代码。请看一下。@MisterSmith..请看我编辑的代码..当数据来自后台线程中的服务器时,我正在调用这个等待屏幕。当收到服务器的响应时,我弹出这个等待屏幕。但如果由于任何原因导致响应延迟一段时间,那么如何弹出此屏幕?当您按下“后退”按钮时发生了什么?要弹出屏幕,请使用UiApplication.getUiApplication().popScreen(您的\u popup\u屏幕)
当收到服务器的响应时,我弹出此等待屏幕
——这样您就可以实际弹出屏幕了。然后,您可能需要启动一个计时器
,该计时器将在指定时间后运行(数据下载的允许延迟)。在TimerTask
的run方法中,检查您的数据是否已下载。如果没有,则停止下载数据,弹出等待屏幕,并关闭计时器。否则只需关闭计时器
。欢迎。你可以用一点描述来更新你的答案。
public long timeout=0;
t.schedule(new TimerTask() {
public void run()
{
// TODO Auto-generated method stub
timeout+=1;
System.out.println("Timeout value:"+timeout);
if(timeout>=28)
{
//timeout every 1 munite
System.out.println("Timeout value:"+timeout);
System.out.println("closing connection");
try
{
parent.notifyDestroyed();
}
catch (Exception ex)
{
System.out.println("Exception is:"+ex);
}
this.cancel();
}
}
}, 0, 1000);
// Thread.sleep(30000);
httpconn_post = (HttpConnection) Connector.open(url);
httpconn_post.setRequestMethod(HttpConnection.POST);
httpconn_post.setRequestProperty("Accept_Language","en-US");
httpconn_post.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
OutputStream out = httpconn_post.openOutputStream();
out.write(param.getBytes());
out.flush();
System.out.println("Status Line Code: " + httpconn_post.getResponseCode());
System.out.println("Status Line Message: " + httpconn_post.getResponseMessage());
if ( httpconn_post.getResponseCode()== HttpConnection.HTTP_OK )
{
is=httpconn_post.openDataInputStream();
// cancelling timer
t.cancel();
.....
.....
}
I had done this using this code..I had done it successfully..