2011-06-11 5 views
4

두 가지 활동이 있습니다. 첫 번째 것은 두 번째 것을 실행합니다.활동과 진행 상황

Intent i = new Intent(MyOne.this, MyTwo.class); 
        startActivity(i); 

문제는 : 내 두 번째 활동은 그래서 두 번째의 몇 가지를 실행 실행에 대한 몇 가지 무거운 작업을 수행하고이 시작되기 전에 나는 검은 색 화면을 참조하십시오.

검은 색 화면 대신 진도 막대 또는 일부 이미지를 설정하는 방법은 무엇입니까? 왜냐하면 나는 사용자가 뭔가를 기다릴 것이라고 생각하지 않기 때문에 그는 모른다. 내 두 번째 활동에서 setcontentview 이후 진행 표시 줄 설정을 시도했지만 진행률 표시 줄은 활동이 완전히 시작되었을 때만 나타납니다.

답변

4

AsyncTask을 사용하여 비동기 적으로 수행하는 것이 좋습니다.

짧은 예 :

ProgressDialog dialog; 
class YourTask extends AsyncTask<Void, Void, Void> { 
     protected void onPreExecute() { 
        dialog = ProgressDialog.show(...); 
     } 

     protected Void doInBackground(Void... unused) { 
      try { 
       // doSomethingHeavy(); 
        // publishProgress(...); 
      } catch(Exception e) { 
       //... 
      } 

      return null; 
     } 

     protected void onProgressUpdate(Void... unused) { 
     } 

     protected void onPostExecute(Void unused) { 
      dialog.dismiss(); 

     } 
    } 
관련 문제