2017-04-26 56 views
0

我想做一个测验应用程序和问题应该是30秒的计时器,之后,我想做一些事情。 用我的代码,进度条(圆圈)正在移动无限。 ProgressBar应该在30秒内从100变为0。ProgressBar不断加载(Android)

主营:

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" /> 
+0

// Make In Invisible progressBar.setVisibility(View.GONE);删除progressValue ++; progressBar.setProgress(progressValue);在onFinish方法中 – sivaprakash

回答

0

它显示了无限的,因为你没有停止它。更改onFinish()函数为

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

此外我建议您将间隔降低到1000米或什么。 myCounter = new CountDownTimer(30000,1000)