2010-07-29 11 views
0

스레드없이 진행률 표시 줄을 Android에서 사용할 수 있습니까? HEREAndroid의 진행 표시 줄

는 LIST가되지 않는 실을 사용하는 경우 ABOVE 돕는다에서 onCreate 호출 // 구현 PROGRESS 다이얼로그 MY CURRENT WAY

  //    Adding Progress bar 

      String[][] data; //Global variable 

OF CODE() 또는 onItemSelected

  final ProgressDialog myProgressDialog; 

      myProgressDialog = ProgressDialog.show(ListingPage.this,"Please Wait", "Loading Date", true); 
      new Thread() { 
       public void run() { 
        try{ 

         setSelected(); 

         sleep(5000); 
        } catch (Exception e) { } 

        myProgressDialog.dismiss(); 
       } 
      }.start(); 


      populateList(Split.splitToTwoDimArray(data)); // populates the list view 

희망 POPULATED.

+0

어떻게 당신이 뭔가를 실행하는 스레드없이 진행을 증가 할 계획입니까? – Sephy

답변

1

물론, 당신은 항상

progressBar.setProgress(int progress); 

위 질문을 통해 수동으로 진행 상황을 설정할 수 있습니다/코드가 스레드없이 진행 표시 줄을 사용하는 방법을 묻는 원인 조금 혼란하지만 지금은 코드에서 당신이있어 추가 스레드를 사용하여. 당신이 처음에 피하고 싶다고 생각했습니다.

어쨌든 주 UI 스레드에서 아무 것도 수정할 수있는 스레드 대신 AsyncTask를 사용해야 할 수도 있습니다.

https://sites.google.com/site/androidhowto/how-to-1/create-a-custom-progress-bar-using-asynctask

http://developer.android.com/reference/android/os/AsyncTask.html

+0

감사합니다. Mathias 하지만 예를 들어 자세히 설명해 드리겠습니다. 방식으로 사용하고 싶습니다. 특정 방법의 작업이 끝나면 진행률 표시 줄이 완료됩니다. – kaibuki

+0

@Mathias : 코드를 시도 : int counter = 0; \t 동안 (계수 <100) \t \t \t \t { \t mybar.setProgress (계수); \t \t \t \t \t \t 카운터 ++; \t \t 그러나 진행률 표시 줄이 표시되지 않았습니다. ( – kaibuki

+0

) 특정 방법으로 진행률을 계산 한 다음 위에서 설명한 방법으로 진행률을 설정해야합니다 .1에서 1000까지 카운트하는 경우, (int i = 1; i = 1000; i ++) {doStep (1); progressBar.setProgress (i);} 또는 시스템이 수행 할 시간에 따라 실제로 진행률을 설정 하시겠습니까? 특정 방법을 실행해야합니까? btw : 왜 스레드를 사용하고 싶지 않습니까? –