2016-09-06 3 views
0

Я создаю ProgressDialog как с именем переменной «dialog».Файл загружен успешно, но индикатор загрузки всегда на Android всегда 0%

ProgressDialog dialog; 

Это мой ProgressDialog код:

//on upload button Click 
      if(selectedFilePath != null){ 
//    dialog = ProgressDialog.show(MainActivity.this,"","Uploading File...",true); 
       dialog = new ProgressDialog(this); 
       dialog.setMessage("Uploading File"); 
       dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); 
       dialog.setIndeterminate(true); 
       dialog.setMax(100); 
       dialog.show(); 

       final int totalProgressTime = 100; 

       new Thread(new Runnable() { 
        @Override 
        public void run() { 

         int jumpTime = 0; 

         while(jumpTime < totalProgressTime) { 
          try { 
           Thread.sleep(2000); 
           jumpTime += 10; 
           dialog.setProgress(jumpTime); 
          } 
          catch (InterruptedException e) { 
           // TODO Auto-generated catch block 
           e.printStackTrace(); 
          } 
         } 
         //creating new thread to handle Http Operations 
         uploadFile(selectedFilePath); 

        } 
       }).start(); 
      }else{ 
       Toast.makeText(MainActivity.this,"Please choose a File First",Toast.LENGTH_SHORT).show(); 
      } 

Мой файл успешно загрузить. но что-то не так на моей панели прогресса, это всегда 0% и не поднимается.

Это выглядит следующим образом:

Upload Progress

ответ

0

Вы не должны манипулировать Виды из не-UI потока. Используйте Handler для обновления прогресса.

Edit:

См this для полного примера.

+0

У вас есть пример для Handler? –

Смежные вопросы