2013-04-30 8 views
0
 protected override void OnResume() 
    { 
     base.OnResume(); 
        ProgressDialog progressDialog1 = ProgressDialog.Show(Parent, "", "Please wait...",false); 
     new Thread(new ThreadStart(() => { 

      RunOnUiThread(() => 
          { 

       try 
       { 
        string st=""; 
       } 
       catch (System.Exception ex) 
       { 

       } 
       progressDialog1.Dismiss(); 
      }); 
     })).Start(); 


    } 

try catch 블록 안에 중단 점을 배치하면 진행 대화 상자가 표시되지 않습니다. 하지만 동일한 코드가 버튼 클릭 이벤트 내에서 제대로 작동합니다. 어떤 사람도 똑같은 문제에 직면 했습니까?Android OnResume() 내에서 ProgressDialog 표시

답변

0

덕분에 다음과 같습니다.

나는 해결책을 얻었 : - 나는 이것을 위해 처리기를 만들었습니다.

static ProgressDialog progressDialog; 

    protected override void OnResume() 
    { 
     base.OnResume(); 
     progressDialog = ProgressDialog.Show(this, "", "Please wait..."); 
     loaddata(); 


    } 
    protected void loaddata(){ 
     new Thread(new ThreadStart(() => { 

       string st=""; // place a break point or make the thread wait 
       dialogHandler.SendEmptyMessage(0); 

     })).Start(); 

    } 

개인 처리기 dialogHandler = new dialogHandlerHelper();

private class dialogHandlerHelper : Handler 
    { 
     public dialogHandlerHelper() 
     { 
     } 


     public override void HandleMessage(Message msg) 
     { 
      base.HandleMessage(msg); 
      progressDialog.Dismiss(); 
     } 
    }