如何从onBackPressed完成ProgressDialog

时间:2016-03-16 13:24:42

标签: android onbackpressed

我正在使用进度条显示进度。但是当我按下后退按钮时,它会继续显示进度条。我不想要它。如何删除它。 我调用Progress圈的代码是 -

    public void onClick(final View v) {
    ProgressCircle progressBar = new ProgressCircle();
    progressBar.start(v.getContext());
    click(v);
    if(progressBarStatus==1)
    {
        progressBar.stop();
    }
}

以下是点击(查看)方法:

Intent intent = new Intent(AddFriend.this, AddFriendSend.class); 
startActivity(intent);

以下是Progress Circle课程:

 public class ProgressCircle {
private ProgressDialog progressBar;

public void start(Context context) {
    ProgressDialog progressBar = new ProgressDialog(context);
    progressBar.setCancelable(true);
    progressBar.setMessage("Processing...");
    progressBar.setProgressStyle(ProgressDialog.STYLE_SPINNER);

    progressBar.setProgress(0);
    progressBar.setMax(100);
    progressBar.show();
}

public void stop() {
    if (progressBar != null) {
        progressBar.dismiss();

    }
}
}

请帮帮我。

4 个答案:

答案 0 :(得分:0)

在您的Activity中,您可以覆盖onBackPressed方法,如下所示:

@Override
public void onBackPressed() {
    progressBar.stop();
    super.onBackPressed();
}

答案 1 :(得分:0)

尝试覆盖android中的后退按钮,如下所示 -

@Override
public void onBackPressed() {
    super.onBackPressed();

    progressBar.stop();

}
  • 不要忘记将progressBar声明为班级成员。

答案 2 :(得分:0)

不喜欢这样:

    ProgressCircle progressBar = null;

    public void onClick(final View v) {
        progressBar = new ProgressCircle();
        progressBar.start(this);
        click(v);
        if(progressBarStatus==1)
        {
            progressBar.stop();
        }
    }

    @Override
    public void onBackPressed() {
        if(progressBar!=null)
            progressBar.stop();
        else
        super.onBackPressed();
    }

答案 3 :(得分:0)

这是一个简单的错误 - 我们可以通过以下代码来实现这一点 -

 ProgressCircle progressBar = null;

public void onClick(final View v) {
    progressBar = new ProgressCircle();
    progressBar.start(this);
    click(v);
    if(progressBarStatus==1)
    {
        progressBar.stop();
    }
}

@Override
public void onBackPressed() {
    if(progressBar!=null)
        progressBar.stop();
    else
    super.onBackPressed();
}