Android 如何将progressDialog或微调器添加到已完成的应用程序?

Android 如何将progressDialog或微调器添加到已完成的应用程序?,android,progressdialog,Android,Progressdialog,我必须更新一些应用程序。它已经在使用中,所以我不想做太大的改变 我想在每次加载新活动时添加进度对话框或微调器。我在这里读了一些文章和问题,比如我必须使用AsyncTask等等。但我想知道是否有更简单的方法。可能需要创建一些函数来显示微调器/progressDailog,直到加载新布局 如果你知道我想要什么,如果可能的话,你能告诉我吗?谢谢 编辑:我有一个想法。我是否可以使用微调器创建布局,它将覆盖当前布局?如果是,如何进行 编辑二:异步任务 private ProgressDialog prog

我必须更新一些应用程序。它已经在使用中,所以我不想做太大的改变

我想在每次加载新活动时添加进度对话框或微调器。我在这里读了一些文章和问题,比如我必须使用AsyncTask等等。但我想知道是否有更简单的方法。可能需要创建一些函数来显示微调器/progressDailog,直到加载新布局

如果你知道我想要什么,如果可能的话,你能告诉我吗?谢谢

编辑:我有一个想法。我是否可以使用微调器创建布局,它将覆盖当前布局?如果是,如何进行

编辑二:异步任务

private ProgressDialog progressDialog;
    @Override
    protected void onPreExecute (){
        progressDialog = new ProgressDialog(mContext);
        progressDialog.setMessage("Loading...");
        progressDialog.setCancelable(false);
        progressDialog.setIndeterminate(true);
        progressDialog.show();
    }

   //  Some code here

@Override
    protected void onPostExecute(CustomAsyncTaskResult<User> result) {
        progressDialog.dismiss();
        ((LoginActivity)mContext).getResult(result);
    }
private ProgressDialog;
@凌驾
受保护的void onPreExecute(){
progressDialog=新建progressDialog(mContext);
progressDialog.setMessage(“加载…”);
progressDialog.setCancelable(假);
progressDialog.setUndeterminate(true);
progressDialog.show();
}
//这里有一些代码
@凌驾
受保护的void onPostExecute(CustomAsyncTaskResult){
progressDialog.disclose();
((LoginActivity)mContext.getResult(结果);
}

简单的答案是——不,没有简单的方法。如果要在加载活动时显示微调器,则需要创建asynctask(或任何其他单独的线程)。好消息是,您可以创建一个异步任务并在所有活动中重用它。糟糕的新情况是,您别无选择,只能修改要添加微调器的每个活动。

建议使用AsyncTask的原因是,否则ProgressBar将使用UI线程显示,您不想这样做,因为它会阻止UI线程必须执行的其他操作。您需要将ProgressBar显示委托给后台线程。因此,不,您不能这样做。

好的,我使用了asynctask,显示了进度对话框,然后消失,但新布局在5秒后显示。我该怎么办?代码显示在问题中。@user3808179这样做的原因是您必须在
doInBackground
方法中进行初始化。现在,asynctask并没有真正异步地执行任何操作。如果不进行一些认真的重构,你就无法逃脱——你必须改变初始化活动的方式,即在asynctask中进行大部分初始化。很抱歉,误解了。。。有
doinbackground()
方法。但也有一些代码的方法。这就是进度对话框很快消失的原因吗?@user3808179最有可能。你的大部分工作必须用
doInBackground
方法完成。