在反压时将进度条重置为 0

reset progressbar to 0 on backpressed

我正在尝试将进度条用作 30 秒计时器。它运行良好,但是当我单击后退按钮时,进度条继续进行。单击后退按钮时,我无法将进度条进度重置为 0。 这是我的代码:
主要活动:

public class MainActivity extends AppCompatActivity {

public Button btnA;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    btnA = (Button)findViewById(R.id.btnA);
    btnA.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intentA = new Intent(MainActivity.this,SecondActivity.class);
            startActivity(intentA);
        }
    });
}
}

第二个活动:

public class SecondActivity extends AppCompatActivity{

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_second);

    Context context;
    float from;
    float to;
    final TextView textV;
    final ProgressBar mProgressBar;
    CountDownTimer mCountDownTimer;
    final int[] i = {0};

    textV = (TextView)findViewById(R.id.tvFinal);
    mProgressBar = (ProgressBar)findViewById(R.id.progressbar);
    mProgressBar.setProgress(i[0]);
    mCountDownTimer=new CountDownTimer(30000,1000) {

        @Override
        public void onTick(long millisUntilFinished) {
            Log.v("Log_tag", "Tick of Progress"+ i[0] + millisUntilFinished);
            i[0]++;
            mProgressBar.setProgress((int) i[0] *100/(30000/1000));

        }

        @Override
        public void onFinish() {
            i[0]++;
            mProgressBar.setProgress(100);
            textV.setText("finish");
            Intent intent = new Intent(SecondActivity.this, SecondActivity.class);
            startActivity(intent);
        }
    };
    mCountDownTimer.start();
}
}

为了实现后退按钮的行为,您需要重写 onBackPressed(),然后实现重置进度条结果的方法。

示例:

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