ProgressBar不断加载(Android)

时间:2017-04-26 18:14:59

标签: android

我想做一个测验应用程序,问题应该有30秒的计时器,之后我想做一些事情。 使用我的代码,Progressbar(圆圈)只是移动无限。 ProgressBar应该在30秒内从100变为0。

主:

ProgressBar progressBar;
int progressValue = 0;
Handler handler = new Handler();
ImageView buttonA1;

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

progressBar = (ProgressBar) findViewById(R.id.progressBar2);
buttonA1 = (ImageView) findViewById(R.id.iVAntwort1);

CountDownTimer myCounter;


    progressBar.setProgress(progressValue);
    myCounter = new CountDownTimer(30000,30000) {
       @Override
        public void onTick(long millisUntilFinished) {
            Log.v("Log_tag", "Tick of Progress"+ progressValue+ millisUntilFinished);
            progressValue ++;
            progressBar.setProgress(progressValue);
       }

        @Override
        public void onFinish() {
        progressValue ++;
            progressBar.setProgress(progressValue);
       }



    };
myCounter.start();
        }

XML:

<ProgressBar
    style="?android:attr/progressBarStyle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/progressBar2"
    android:indeterminate="false"
    android:minHeight="50dp"
    android:minWidth="200dp"
    android:max="1"
    android:progress="0"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true" />

1 个答案:

答案 0 :(得分:0)

它无限展示,因为你没有阻止它。将onFinish()函数更改为

public void onFinish() {
    progressValue ++;
    progressBar.setProgress(progressValue);
    progressBar.setVisibility(View.GONE);
}

另外,我建议你将间隔降低到1000毫克左右。 myCounter = new CountDownTimer(30000,1000)