我开发了一个包含3个屏幕的应用程序
其中一个是LoginScreen活动,点击登录按钮它应该调用一个Web服务
&安培;从Web服务返回时,它应显示ProgressBar。
任何人都可以帮忙吗?
最诚挚的问候, 阿米特
答案 0 :(得分:1)
使用android.os.AsyncTask可以轻松完成此操作。它提供了一种方便的方式来进行进度对话,当长时间运行的Web服务调用阻止UI线程时,它还有助于防止应用程序无响应错误。
在Android文档中有很好的文档,网上有很多例子。
答案 1 :(得分:1)
我认为没有必要使用AsyncTask,有更简单的方法来实现这个
final ProgressDialog dialog = ProgressDialog.show (this,getResources().getText(R.string.progressbartitle), getResources().getText(R.string.progressbartext),true,false);
new Thread()
{
public void run()
{
//do you web server call
}
}.start();
这就是全部
最好的祝福
阿努普
答案 2 :(得分:1)
看看这个:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ProgressDialog dialog = ProgressDialog.show(FirstScreen.this, "",
"Please wait for few seconds...", true);
// final TextView tv = (TextView)findViewById(R.id.TextView01);
final Thread t = new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
parseData();
}
});
t.start();
Thread t1 = new Thread(new Runnable() {
public void run() {
try {
t.join();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mHandler.post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
dialog.cancel();
//Perform your action after showing dailog here(like showing list)
}
});
}
});
t1.start();
}
希望这会对你有所帮助。