java - 按下后退时将进度条重置为 0

标签 java android progress-bar reset

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

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);
        }
    });
}
}

第二个 Activity :

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);
    }

关于java - 按下后退时将进度条重置为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53213296/

相关文章:

c++ - SetProgressValue() 在 ConEmu 中不起作用

java - Android:为更小/更大的屏幕调整布局

java - Android XML 位图和 OutOfMemoryError

android - FileProvider - IllegalArgumentException : Failed to find configured root

android - 在 Android 中显示 ProgressBar 一段时间

java - 为什么 synchronized() 的位置很重要?

java - 在 HttpRequestexecute() 上获取 NullPointerException 以将 POST 请求发送到 Google Places API

java - 如何在 Java 中合并音频和视频

java - do-while 和 while 比较

java - 用边框表示进度 Android