如何显示进度条我正在从A级到B级调用意图。 其中B类从使用解析装置中加载数据 发生这种情况,我想在这个时候出现空白屏幕 进度栏我该怎么做。
现在我正在编写如下代码..
class A extends Activity{
oncreate(){
...
Button b1 = (Button) findViewById(R.id.button1);
b1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
new performBackgroundtask().execute();
}
}
class performBackgroundtask extends AsyncTask<Void, Void, Void> {
//
ProgressDialog progressDialog = new ProgressDialog(Main.this);
@Override
protected void onPreExecute() {
progressDialog = ProgressDialog.show(Main.this,"", "Please wait...");
super.onPreExecute();
/*
* progressDialog.setMessage("Please wait while loading ...");
* progressDialog.show(); progressDialog.setCancelable(true);
*/
}
@Override
protected Void doInBackground(Void... params) {
Intent in = new Intent(A.this, B.class);
startActivity(in);
// TODO Auto-generated method stub
return null;
}
@Override
protected void onPostExecute(Void result) {
progressDialog.dismiss();
}
}
}
class B { ...
/*
* In which this class has another view which has to get the data from
* URL using SAXPArsing.
*
* ... for this where i need to write progress bar code.
*/
}
答案 0 :(得分:1)
我使用处理程序做了类似的事情。当处理程序从线程收到响应时,您可以关闭progressdialog。
一些代码可以帮助您理解:
final Handler handler = new Handler()
{
@Override
public void handleMessage( Message message )
{
progressBar.setVisibility( View.GONE );
// My irrelevant code here
}
};
new Thread( new Runnable()
{
public void run()
{
// Do your stuff here
Message message = handler.obtainMessage( 1, text );
handler.sendMessage( message );
}
}).start();
答案 1 :(得分:0)
不是调用另一个Activity类来进行下载,而是将此功能移动到每个Activity可以使用的另一个类中。