2010-02-09 7 views
11

이 단추는 내 시작 활동에 표시됩니다. 그것을 누르면 새 활동이 시작되지만 이것은 인터넷에서 일부 데이터가 수집 된 새 활동의 초기화에 약간의 시간이 걸립니다. 반으로 작동합니다. 진행 대화 상자가 표시되지만 진행 휠이 회전하지 않습니다.새 활동을 시작하는 중 진행 대화 상자

누군가 이런 일이 발생하는 이유를 말해 줄 수 있습니까?

Button b4 = (Button) findViewById(R.id.Button01); 
     b4.setOnClickListener(new View.OnClickListener() { 
      public void onClick (View view) {  
      final ProgressDialog pd = ProgressDialog.show(pak.this, 
         "", "Working..", true); 

      new Thread(new Runnable(){ 
      public void run(){ 
       Intent intent = new Intent(); 
       intent.setClassName("sxe.pak", "sxe.pak.List"); 
       startActivity(intent);    
       pd.dismiss(); 
       } 
      }).start(); 

      } 
    }); 

들으

답변

8

당신은 당신의 두번째 활동의 매우 시작할 때 대화 진행하지 귀하의 첫 번째를 표시해야합니다. AsyncTask에서 데이터 다운로드 작업을 수행해야합니다.

Android SplashScreen

+0

좋은 대답을하지만, 나는 한 스레드가 UI 스레드를 사용할 필요가없는 것처럼 AsyncTask를에 스레드를 선호 :

더 많은 정보를 원하시면이 내 대답을 참조하십시오. – pgsandstrom

+0

안녕하세요 mbaird, 너의 대답은 네. AsyncTask를 비동기 작업에 사용할 가능성을 알고 있지만 내 경우에는 사용할 수 없다 (또는 어떻게 알지 못한다) 원인으로 새로운 Activity를 시작하려고한다. 두 번째 활동의 시작 부분에서 진행 대화 상자를 시작하는 것은 옵션이 아닙니다. 행운을하지 않고 이미 시도 했으므로 두 번째 활동의 시작이 완료 될 때까지 첫 번째 활동이 표시됩니다. 버튼을 누르면 단추의 색이 바뀌고 바퀴가 돌아 가지 않을 때만 프로세스 진행 대화 상자가 표시됩니다. 그게 유일한 문제 야. – Andy

+1

@Andy, UI 스레드에서 작업 중이므로 진행 대화 상자가 회전하지 않습니다. AsyncTask 또는 스레드 또는 Runnable을 통해 별도의 스레드로 다운로드 작업을 이동하십시오. 다시 말하지만, 제가 위에 주어진 대답을보고 두 번째 활동의 onCreate() 메소드에서 해당 질문에 대한 내 대답의 onCreate() 메소드에서 진행중인 작업을 복사하려고하면 작동 할 것이라고 약속드립니다. –

관련 문제