我尝试在将ProgressDialog
转换为另一个Fragment
时显示A Fragment
,例如消息"请等待......"或者"加载页面......"我需要添加此消息,因为Fragment
的加载时间甚至在我提交getSupportFragmentManager().executePendingTransactions();
转换后添加了Fragment
,我尝试如下:
ProgressDialog pd= ProgressDialog.show(getActivity(), "Please Wait","loading page...");
getFragmentManager().beginTransaction().replace(R.id.frame_container, new TertanggungPolis()).
setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN).commit();
pd.dismiss();
但是这段代码似乎不起作用,因为我的应用程序中没有ProgressDialog
,所以我的代码或方法有问题吗?谢谢
答案 0 :(得分:2)
使用此:
import android.app.ProgressDialog;
import android.content.Context;
public class AndyUtills {
private static ProgressDialog mProgressDialog;
public static void showSimpleProgressDialog(Context context, String title,
String msg, boolean isCancelable) {
try {
if (mProgressDialog == null) {
mProgressDialog = ProgressDialog.show(context, title, msg);
mProgressDialog.setCancelable(isCancelable);
}
if (!mProgressDialog.isShowing()) {
mProgressDialog.show();
}
} catch (IllegalArgumentException ie) {
ie.printStackTrace();
} catch (RuntimeException re) {
re.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void removeSimpleProgressDialog() {
try {
if (mProgressDialog != null) {
if (mProgressDialog.isShowing()) {
mProgressDialog.dismiss();
mProgressDialog = null;
}
}
} catch (IllegalArgumentException ie) {
ie.printStackTrace();
} catch (RuntimeException re) {
re.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}
现在使用className调用这两个方法,你的工作就完成了。当你想要删除对话框时想要显示对话框并删除方法时调用show方法。
现在,在你的情况下,你可以在第二个片段的OnCreateView方法中调用remove方法。
答案 1 :(得分:0)
使用异步任务http://developer.android.com/reference/android/os/AsyncTask.html 在转换过程中显示进度对话框。