在我的android应用程序中,第一个活动调用REST来获取使用凭据的项目列表。现在,在单击任何项时,项目id将被传递,第二个活动将使用意向调用。第二个活动使用传递的id调用REST,并显示该id的子项列表。
我在第一次活动中使用进度对话框。这很好用。我希望这个进度对话框也继续在第二个活动,直到子项列表不显示。
当前,进度对话框在第二个活动开始时消失,一个空白屏幕出现,直到子列表无法获取为止。
任何人都可以指导我如何在第二次活动中继续进行进度对话,并在出现子列表时解散。。
发布于 2012-07-16 08:54:25
有两个选项可以使用:
Activity被取消时,您可以停止对话框,然后在第二个Activity上的onCreate方法中再次显示它。正如AkashG在评论中提到的那样。Activity期间显示对话框,可以使用一个Activity而不是两个,并将该Activity的布局更改为使用第二个Activity的布局,而不是调用另一个Activity。但是,这可能很复杂,因为您将将两个Activities的特性实现为一个。发布于 2012-10-09 00:31:24
这是一个黑客:
在ActivityA.java中,ProgressDialog pd声明为静态
public static ProgressDialog pd;在ActivityB.java中,使用对ActivityA.pd的静态引用,然后使用以下代码。
if (ActivityA.pd != null) {
if (ActivityA.pd.isShowing()) {
ActivityA.pd.dismiss();
}
else {
Log.e(Vars.TAG, "It is NOT SHOWING");
}
}发布于 2012-07-16 10:59:26
你应该使用AsyncTask
class FetchTask extends AsyncTask<Object, Object, Object>
{
ProgressDialog progress;
@Override
protected void onPreExecute()
{
super.onPreExecute();
progress=ProgressDialog.show(Context, "", "Loading...");
}
@Override
protected Object doInBackground(Object... params)
{
// fetch your data here
return null;
}
@Override
protected void onPostExecute(Object result)
{
super.onPostExecute(result);
progress.dismiss();
}
}然后,您可以在onCreate中执行以下任务:
new FetchTask().execute();https://stackoverflow.com/questions/11500794
复制相似问题