在Android中打开Activity之前显示进度条?

时间:2013-11-26 06:56:15

标签: android performance android-intent android-listview android-fragments

我有两个活动A& B。点击活动A的按钮,我打开活动B.在活动B的创建方法上,由于方法执行,打开活动需要更多时间。我想在活动B打开时显示进度条,打开进度条后需要关闭。

活动B: -

 @Override
 protected void onCreate(Bundle savedInstanceState) {
       BindStaticValues();
GetCalculationOptions(); //calculation from web server 
 }
  public void BindStaticValues()
 {

//standard 
BindStandard(); //static spinner (not db)           

//Spinner 1
array1 = new ArrayList<ObjectMaterial>();
Adapter1 = new DescriptionAdapter(this,
        android.R.layout.simple_spinner_item,
        array1 );
Adapter1 
.setDropDownViewResource(android.R.layout.simple_spinner_item);
sp1.setAdapter(Adapter1 );

//Spinner 2
array2 = new ArrayList<ObjectMaterial>();
Adapter2 = new DescriptionAdapter(this,
        android.R.layout.simple_spinner_item,
        array2 );
Adapter2 
.setDropDownViewResource(android.R.layout.simple_spinner_item);
sp2.setAdapter(Adapter2 );

 }

请为我推荐任何可用的链接或示例代码。

2 个答案:

答案 0 :(得分:3)

为此,您可以使用AsyncTask

您可以在AsyncTask中使用2种方法:

  1. onPreExecute() - 显示进度条
  2. doInBackground() - 执行长时间运行的任务(在您的情况下,执行方法)
  3. onPostExecute() - 执行UI更新任务或开始新活动。

答案 1 :(得分:2)

您可以采用此示例:http://android.okhelp.cz/asynctask-example-android-with-progressbar/

你可以在doBackground Job中调用你的方法,然后你隐藏你的进度条并开始你的活动。我认为这就是全部