在 Fragment 类中显示 ProgressDialog

Posted

技术标签:

【中文标题】在 Fragment 类中显示 ProgressDialog【英文标题】:Show ProgressDialog in Fragment class 【发布时间】:2014-09-09 14:21:29 【问题描述】:

我试图在 Fragment 类中显示 ProgressDialog。以下代码仅适用于 Activity 类,但不适用于 Fragment。有人可以帮我解决这个问题吗,为什么这个 ProgressDialog 实现只适用于 Activity 而不适用于 Fragment

private class ProcessUpdateProfile extends
        AsyncTask<String, String, JSONObject> 

    private ProgressDialog nDialog;

    @Override
    protected void onPreExecute() 
        super.onPreExecute();
        nDialog = new ProgressDialog(PFragment.this); //Here I get an error: The constructor ProgressDialog(PFragment) is undefined
        nDialog.setMessage("Loading..");
        nDialog.setTitle("Checking Network");
        nDialog.setIndeterminate(false);
        nDialog.setCancelable(true);
        nDialog.show();

    

【问题讨论】:

【参考方案1】:

Fragment试试这个

 nDialog = new ProgressDialog(getActivity()); 

【讨论】:

【参考方案2】:

ProgressDialog 接受Context 输入,因此在对象创建中使用getActivity()

ProgressDialog dialog = ProgressDialog.show(getActivity(), "Loading...", "Please wait...", true);

【讨论】:

以上是关于在 Fragment 类中显示 ProgressDialog的主要内容,如果未能解决你的问题,请参考以下文章

从 Fragment 显示弹出窗口

从库中选择图像在 Android 的 Fragment 类中不起作用

由于 Fragment 类中没有公共构造函数方法,在 android 中旋转设备后出现异常

处理Fragment类ListView的按钮事件?

ViewPager Activity 通知特定事件的 Fragment

Here Maps - 在 TabLayout 的 Fragment 中使用 MapFragment