【问题标题】:progress bar is not updating in android studioandroid studio中的进度条未更新
【发布时间】:2019-03-11 17:03:14
【问题描述】:

我正在使用带有倒数计时器的进度条,一切正常,除了进度条动画它不以动画形式工作,它只是在持续时间后更新其状态而不是动画。请有人帮我解决这个问题。

这是我的代码

   countDownTimer = new CountDownTimer(oneMin,1000) {
        @Override
        public void onTick(final long millisUntilFinished)
        {
         /*   long finishedSeconds = oneMin - millisUntilFinished;
            int total = (int) (((float)finishedSeconds / (float)oneMin) * 100.0);
            progressBar.setProgress(total);*/
            progressBar.setMax(100);
             progress = 1000*60/10;
progressBar.setProgress(progress);

            }

            @Override
        public void onFinish() {
            //t1.setText("");
            Toast.makeText(getActivity(), "your score", Toast.LENGTH_SHORT).show();
            dia1();

            progressBar.setProgress(0);
        }
    };

    tt2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            if(ans.equals("1"))
            {
                countDownTimer.cancel();
                mp.start();


                Random r = new Random();
                i1 = r.nextInt(10 - 1) + 1;
                colorDetails(i1);
                i++;
                tt5.setText(String.valueOf("Score:"+i));
                countDownTimer.start();
            }

【问题讨论】:

  • 您的进度值没有改变就是原因。你总是设置progress = 6000
  • 随着计数器的每一次滴答声,您在栏上设置了相同的进度,因此没有任何变化。您需要提供一种方法来为每个刻度提供不同的值,以便您可以看到差异
  • 你能举个例子吗

标签: java android android-layout android-progressbar


【解决方案1】:
  • setMax 你的进度条 100 然后你 setProgress 6000 !!超过最大值

  • 每次调用 onTick 方法时,您的进度条都会停止在相同的进度,因为该方法每次调用时都会更新相同的值 阅读this 阅读一些示例 关于进度条

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-23
    • 2011-12-17
    相关资源
    最近更新 更多