Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在AsyncTask';结束?_Android_Android Asynctask_Android Progressbar - Fatal编程技术网

Android 如何在AsyncTask';结束?

Android 如何在AsyncTask';结束?,android,android-asynctask,android-progressbar,Android,Android Asynctask,Android Progressbar,我有一个AsyncTask查询数据库,然后返回boolean 我试图在onPostExecute方法上关闭progressbars可见性。我要走了 nullpointerexception: Attempt to invoke virtual method 'void android.widget.ProgressBar.setVisibility(int)' on a null object reference 因为我不能正确地引用它 我该怎么做 异步任务: public class Tar

我有一个
AsyncTask
查询数据库,然后返回
boolean

我试图在
onPostExecute
方法上关闭progressbars可见性。我要走了

nullpointerexception: Attempt to invoke virtual method 'void android.widget.ProgressBar.setVisibility(int)' on a null object reference
因为我不能正确地引用它

我该怎么做

异步任务

public class TarefaValidaEmail extends AsyncTask<String, Void, Boolean> {
private Context context;
private Cadastro cadastro = new Cadastro();

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

@Override
protected Boolean doInBackground(String... params) {
    String email = params[0];

    Log.d("STRING BACKGROUND: ", email);

    UsuarioDAO dao = new UsuarioDAO();
    boolean isEmailValido = dao.isEmailValido(email);

    return isEmailValido;
}

@Override
protected void onPostExecute(Boolean isEmailValido){
    cadastro.isEmailValido(isEmailValido);
    cadastro.progress.setVisibility(View.INVISIBLE);
}
}

已在Cadastro活动和Tarefa AsyncTask类上尝试了
Cadastro.this.progress.setVisib..
。谢谢

关闭onpostexecute()方法中的进度条

在这里:

导致问题的线路

因为您正在将
Cadastro.this
发送到
TarefaValidaEmail
类,所以访问
进度
为:

public TarefaValidaEmail(Context context){
    this.context = context;
    this.cadastro=((Cadastro)context);
}
progress.dismiss();
private Cadastro cadastro = new Cadastro();
public TarefaValidaEmail(Context context){
    this.context = context;
    this.cadastro=((Cadastro)context);
}