片段转换时添加进度对话框

时间:2014-09-15 04:26:57

标签: android android-fragments fragmenttransaction

我尝试在将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,所以我的代码或方法有问题吗?谢谢

2 个答案:

答案 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 在转换过程中显示进度对话框。