Android - 在单独的类中显示进度对话框,扩展了AsyncTask

时间:2016-01-28 14:12:20

标签: android android-asynctask

我有一个名为myAPI的类,用于从服务器db获取信息。此类有几个用于获取个人信息的类,例如getCourseInformationloginregister等等。

直到我意识到我真的需要一个ProgressDialog,这一点很有效。准确地说Indeterminate ProgressDialog

尝试这样做:

ProgressDialog progressDialog;
    Context context;

    public myAPI(Context context)
    {
        this.context= context;
    }
    public myAPI()
    {

    }

获取调用myAPI的类的Context。

以下是我在班上使用它的方法。

public class login extends AsyncTask<MyLogin, String, String>{

    @Override
    protected void onPreExecute() {
        progressDialog = new ProgressDialog(context);
        progressDialog.setMessage("Loading...");
        progressDialog.setIndeterminate(true);
        progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
        progressDialog.setCancelable(true);
        progressDialog.show();
    }
...
}

但它不起作用。它说Unable to add window -- token null is not for an application

调试它,我可以看到Context就在那里..所以它不应该是那个......任何指南都会非常感激!

1 个答案:

答案 0 :(得分:0)

尝试使用活动

而不是使用上下文
@Override
    protected void onPreExecute() {
        progressDialog = new ProgressDialog(getActivity());
        progressDialog.setMessage("Loading...");
        progressDialog.setIndeterminate(true);
        progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
        progressDialog.setCancelable(true);
        progressDialog.show();
    }