2011-04-12 4 views
0

내 응용 프로그램에 로그인 할 수있는 사용자 지정 대화 상자가 있습니다. 나는 또한 progressbar를 추가하고 보이지 않게했다. 사용자가 버튼을 누를 때 AsyncTask를 호출하여 http 로그인을 처리합니다. AsyncTask에서 진행률 막대를 제어합니다. 모두 잘 보이지만 AsyncTask가 실행 중일 때 대화 상자가 완전히 반응합니다. 나는 모든 컨트롤을 사용하지 않도록합니다 AsyncTask를 실행하기 전에사용자 지정 대화 상자 - 로그인 - "모달"진행률 표시 줄을 원합니다

  1. : 나는 내가 3 선택을 참조, 등을 버튼을 클릭하면, 필드를 변경할 수 있습니다. 그러나 끝난 시점을 어떻게 알 수 있습니까? 사용할 수있는 콜백이 있습니까?

  2. 로그인 창을 만들고 활동 진행 대화 상자를 표시하십시오.

  3. ?

여기에 비동기 작업입니다 날이 시나리오

을 처리 할 수있는 적절한 방법이 무엇인지 알려 주시기 바랍니다. 나는 URL과 몸을 통과 곳 제네릭하고 HTTP 응답을 반환하기 위해 노력하고있어 :

내가하고 결국 무엇
private class RESTService extends AsyncTask<String, Integer, String> 
    { 
     //TODO: Add text to progress bar and add custom artwork 
     ProgressBar progress; 
     Dialog dialog; 
     Activity activity; 

     public RESTService(ProgressBar p, Dialog d, Activity a) 
     { 
      progress = p; 
     } 
     @Override 
     protected String doInBackground(String... stuff) 
     { 
      String url = stuff[0]; 
      String post = stuff[1]; 

      try 
      { 
       Thread.sleep(15000); 
      } catch (InterruptedException e) 
      { 
       e.printStackTrace(); 
      } 

      return "done"; 
     } 

     @Override 
     protected void onPreExecute() 
     { 
      super.onPreExecute(); 

      if (dialog != null) 
      { 

      } 

      if (progress != null) 
      { 
       progress.setVisibility(View.VISIBLE); 

      } 
     } 

     @Override 
     protected void onPostExecute(String s) 
     { 
      super.onPostExecute(s); 

      if (progress != null) 
      { 
       progress.setVisibility(View.GONE); 
      } 
     } 
    } 

답변

0

- AsyncTask를 청취자에 대한 인터페이스를 생성하고 작업 완료에 부모 발신자를 호출에 AlertDialog 터지는.

관련 문제