2014-04-09 2 views
0

진행 대화 상자에 대해 질문하는 데 여기에 작성 중입니다.메소드 진행 후 Android 진행 대화 상자가 닫히지 않음

사실, 내 응용 프로그램에서 웹 서비스를 호출하면 진행 대화 상자가 잘 작동합니다.

그러나 내 웹 서비스 호출을 수행 할 객체의 날짜를 변경하면 진행 대화 상자가 나타나 결과가 receiveid가됩니다. 그리고 이 자동으로인데, 웹 서비스에 대한 새로운 호출이 있고 진행 대화 상자가 무시되지 않았습니다. -/

내 서버에서 JBoss에서 내 응용 프로그램의 호출을 볼 수 있습니다. 내 활동을 처음 만들 때 전화가 한 번 있습니다.

하지만 두 번째 호출에서 날짜를 변경하면 두 번의 호출이 있습니다. 이유는 모르겠다. 왜냐하면 내가 회 전자의 작동을 바꿀 때 웹 서비스가 호출되어 결과를 반환하기 때문이다.

나는 asynctask에서 웹 서비스를 호출한다. asynctask의 진행 대화 상자에는 아무 것도하지 않습니다. 여기

내가

public void callWebService() 
{ 
    myProgressDialog = ProgressDialog.show(OverviewMoney.this,"", "Récupération liste des positions cash",true); 


     final Runnable runInUIThread = new Runnable() { 
      public void run() { 
      setListView();     
      } 
      }; 

      new Thread() { 
       @Override public void run() 
       { 
        loadListMoney(); 
        myProgressDialog.dismiss(); 
        uiThreadCallback.post(runInUIThread);      
        myProgressDialog= null; 
       } 
       }.start(); 
} 

목록보기의 목록을 인쇄하는 어댑터 내 resultList을 넣어 setListView AsyncTask를하고 방법에서 내 웹 서비스를 호출 loadListMoney 방법 대화 진행을 호출하는 방법입니다. 이 기능은 진행 대화 상자 빨리 다른 함수 호출이 시작됩니다 두 번 1 시간을 호출 할 때 사전 :-) (그리고 내 영어 죄송합니다)에서 감사

답변

0

내 이해에 따르면,이

public void callWebService() 
{ 
    if (myProgressDialog != null) myProgressDialog.dismiss(); 
    myProgressDialog = ProgressDialog.show(OverviewMoney.this,"", "Récupération liste des positions cash",true); 


     final Runnable runInUIThread = new Runnable() { 
      public void run() { 
      setListView();     
      } 
      }; 

      new Thread() { 
       @Override public void run() 
       { 
        loadListMoney(); 
        myProgressDialog.dismiss(); 
        uiThreadCallback.post(runInUIThread);      
        myProgressDialog= null; 
       } 
       }.start(); 
} 

시도 이전 진행률 대화 상자를 닫지 않고 배치되므로 진행률 대화 상자가 하나 더 생성됩니다. 그래서 그것이 그것의 주된 원인이었습니다.

+1

답변 해 주셔서 감사합니다. 나는 그 줄을 넣었지만 나는 다른 쪽을 닫을 때 null 포인터 예외를 가졌다. 나는 또 다른 해산과 그 일을위한 라인을 추가했다! 다시 감사합니다. 좋은 하루 보내세요 :-) –