android - 当一个 Activity 加载其他 Activity 时添加进度条

标签 android android-activity progress-bar

这是我的 Activity oncreate() 方法。我设置了一个带有对话窗口的肯定按钮ok。 当我点击它时,它会导航 UI Activity staticDisplay.class。我想在对话框窗口中单击“确定”后设置一个进度条,直到加载下一个 Activity 。

public void onCreate(Bundle savedInstanceState) {
    Log.d(TAG, "ACTIVITY ONCREATE");
    super.onCreate(savedInstanceState);
    // setContentView(R.layout.dialog);
    setContentView(R.layout.main);

    if (Registration.isRunning == false) {

        TextView title = new TextView(this);
        title.setText("DM2");
        title.setBackgroundColor(Color.DKGRAY);
        title.setPadding(10, 10, 10, 10);
        title.setGravity(Gravity.CENTER);
        title.setTextColor(Color.WHITE);
        title.setTextSize(20);
        /* alert message */
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setCustomTitle(title);

        builder.setMessage(R.string.app_description).setPositiveButton(
                "Ok", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {
                        if (Registration.isRunning == false) {

                            startService(new Intent(
                                    getApplicationContext(),
                                    Registration.class));
                        }
                        staticInfo();
                        if (Registration.ruid == null)
                            Registration.ruid = uId;

                        startActivity(new Intent(getApplicationContext(),
                                StatisticDisplay.class));
                    }
                });
        AlertDialog alert = builder.create();
        alert.show();
    } else {
        startActivity(new Intent(getApplicationContext(),
                StatisticDisplay.class));
    }
}

创建方法上的StaticDisplay.class

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.statdisplay);


    usage_btn = (Button) findViewById(R.id.appstat);
    usage_btn.setOnClickListener(this);
    setting_btn = (Button) findViewById(R.id.setting);
    setting_btn.setOnClickListener(this);
}

最佳答案

您可以使用 AsyncTask 来完成后台进程并显示进度对话框,如下所示,

调用该类

        new Task().execute(CurrentActivity.this);  

在任务类中:

        private class Task extends AsyncTask<Void, Void, Void> 
             { 
                 ProgressDialog dialog;
                 Context context;
                public Task(Context context)
                { 
                  this.context=context;
                   //constructor for this class
                }
               protected void onPreExecute() {            
                 //create the progress dialog as 
                   dialog=new ProgressDialog(context);
              } 
             protected Void doInBackground(Void... JSONArray) { 

           //Place your background process code     

            }

            protected void onPostExecute(Void unused) {
                 //dismiss the progressdialog 
                dialog.dismiss();
           } 
       }

关于android - 当一个 Activity 加载其他 Activity 时添加进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10004669/

相关文章:

android - 新 Activity 的 onStart 在父 Activity 的 onStop 之前被调用

ios - 如何在 AVPlayer 上显示缓冲进度?

android - INNER JOIN 在 Sqlite android 中不起作用

java - Firebase 实时数据库 long 值始终返回 0,即使它不是

android - 无法检测到附近的 AltBeacon

java - 使用 onTouchListener 旋转图像而不缩放图像

android - 如何减少android中的 Activity 数量?

android - NoSuchMethod : isDestroyed()

javascript - 我怎样才能让我的进度条刷新,并让它自动加载?

CodeIgniter 和进度条