2017-02-18 10 views
0

Я пытаюсь перейти от неопределенного к определенному горизонтальному индикатору выполнения, но определение бара прогресса не работает, где неопределенный работает так хорошо.Android Горизонтальная детерминированная ProgressBar не работает

Определить один, но нет движения. , пожалуйста, помогите мне.

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:id="@+id/check" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 
    <LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" > 
    <ProgressBar 
    android:id="@+id/my_progressBar" 
    style="@style/Widget.AppCompat.ProgressBar.Horizontal" 
    android:indeterminate="false" 
    android:max="100" 
    android:progress="10"/> 
    </LinearLayout> 
    </android.support.design.widget.CoordinatorLayout> 

И я добавил следующее в MainActivity.java:

ProgressBar progressBar = (ProgressBar) findViewById(R.id.my_progressBar); 
progressBar.setProgress(20); 
+0

Прогресс начинается с 20 и не увеличивается? – Diekrul

+0

@ Diekrul Да, он остается там и не увеличивается – user3518835

ответ

1

Я думаю, что Progressbar Dont increse потому что вы не инкремента де прогресса. Если вы установите setProgress на 20, полоса останется на 20.

Вам нужно постепенно увеличивать setProgress, если вы хотите видеть движение.

Я надеюсь, что это поможет.

0
private int progressStatus = 10;   
new Thread(new Runnable() { 
      public void run() { 

        while (progressStatus < 100) { 

          progressStatus += 5; 

          // Update the progress bar and display the 
          //current value in the text view 
          handler.post(new Runnable() { 
           public void run() { 
            progressBar.setProgress(progressStatus); 
         textView.setText(progressStatus+"/"+progressBar.getMax()); 

           } 
          }); 
          try { 
           // Sleep for 300 milliseconds. 
           //Just to display the progress slowly 
           Thread.sleep(300); 
          } catch (InterruptedException e) { 
           e.printStackTrace(); 
          } 


       } 

      } 
     }).start();