【问题标题】:android - reset progress bar on back pressed buttonandroid - 在后按按钮上重置进度条
【发布时间】:2016-01-07 15:00:45
【问题描述】:

从 android 5.0 api 22 开始,我的应用程序出现问题。

我有一个名为“时间进度”的活动(它不是我的主要活动)。在那个活动中,我有一个带有圆形进度条的计时器,所以时间从 15 变为 0,进度条正在填满。

当我点击后退按钮进入主菜单,然后我再次进入“时间进度”时,我的进度条不是空的(有一些值,如 15 或 3 或 8,随机值)并且我想要进度条为空。

我试过 onstop(); flag_activity_no_history、flag_activity_new_task、flag_activity_clear_top,将进度条设置为 0,但没有任何效果。

这是我的代码

int j = 0;
public void timetest() {
    CountDownTimer countdown = new CountDownTimer(15000, 1000) {
    TextView timetext = (TextView) findViewById(R.id.timetext);
    ProgressBar progresstime = (ProgressBar) findViewById(R.id.progresstime);
       @Override
       public void onTick(long millisUntilFinished) {
          timetext.setText(Long.toString(millisUntilFinished / 1000));
          j = j + 1;
          progresstime.setProgress(j);
      }
    }
      @Override
      public void onFinish() {
         playtime.setText("Time's up");
     }
   }.start();
  }
@Override
public void onBackPressed() {
    Intent backmainmenu = new Intent(getBaseContext(), MainActivity.class);
    startActivity(backmainmenu);
  }

应该总是这样开始:Image1

而不是这样:Image2

也许我以错误的方式应用了这些功能:/ .

有什么帮助吗?

谢谢

【问题讨论】:

    标签: java android api android-studio android-progressbar


    【解决方案1】:

    为什么不在你的 onCreate() 方法中放置一些代码来将进度设置为 0,例如:

    progresstime.setProgress(0);
    

    编辑:

    如果将 progressBar 设置为 0 则不起作用。您可以创建一个新的progressBar实例

    【讨论】:

    • 我尝试 setprogress(0) 但没有用,应该可以用 我不知道为什么我现在也尝试创建一个新实例,但我认为我做错了,你能解释一下吗那个?
    • 放一些代码形式的onCreate()方法看看有没有问题。我不确定,但我认为如果创建了您的活动“时间进度”的新实例,那么进度条不应该有任何起始值。如果您有任何可能导致此问题的标志,请检查您的清单。比如活动 single_top 什么的……祝你好运!
    猜你喜欢
    • 2012-05-29
    • 2011-06-14
    • 2021-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-09
    • 2019-01-29
    相关资源
    最近更新 更多