ProgressDialog无法应用于片段

时间:2015-09-08 15:43:11

标签: android android-fragments

我正在学习一个教程,并且有一种方法可以让我收到警告。

// RemoteDataTask AsyncTask
    private class RemoteDataTask extends AsyncTask<Void, Void, Void> {
        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            // Create a progressdialog
            mProgressDialog = new ProgressDialog(PrimaryFragmentDormir.this);
            // Set progressdialog title
            mProgressDialog.setTitle("Parse.com Custom ListView Tutorial");
            // Set progressdialog message
            mProgressDialog.setMessage("Loading...");
            mProgressDialog.setIndeterminate(false);
            // Show progressdialog
            mProgressDialog.show();
        }

在第

 mProgressDialog = new ProgressDialog(PrimaryFragmentDormir.this);

Android Studio会显示警告: ProgressDialog(android.content.Context)无法应用于com.solinpromex.elpasojuarezexperience.primaryFragmentDormir。

我猜这个警告与ProgressDialog无关,它应该与它是片段而不是正常的Activity有关,但我不知道如何解决它。

谢谢。

3 个答案:

答案 0 :(得分:4)

您需要传递上下文。

从片段调用library(dplyr) top_n <- function(number, variable){ return((cumsum(!is.na(variable))<=number)*1) } mtcars %>% arrange(-mpg) %>% mutate(top_5 = top_n(5, mpg)) 获取上下文:

getActivity()

答案 1 :(得分:1)

更改此行代码:

ProgressDialog = new ProgressDialog(PrimaryFragmentDormir.this);

ProgressDialog = new ProgressDialog(getActivity());

答案 2 :(得分:1)

当您将fragment作为activity参数(其核心业务)发送给fragment时,我将假设您从原始context运行mProgressDialog = new ProgressDialog (context);

然后使用:

if (validators != null) { var i; for (i = 0; i < Page_Validators.length; i++) { ValidatorValidate(Page_Validators[i], validationGroup, null); } }