2011-04-12 77 views
0

我有我的应用程序登录自定义对话框。我还添加了进度条并隐藏。当用户点击'按钮时,我调用AsyncTask来处理http登录。我从AsyncTask控制进度条。所有看起来不错,但AsyncTask运行 - 对话框完全响应。我可以更改字段,我可以点击按钮等。我看到3个选项:自定义对话框 - 登录 - 我想要“模态”进度条

  1. 在运行asynctask之前,我将禁用所有控件。但是我怎么知道什么时候结束?有我可以使用的回调吗?

  2. 制作登录窗口活动,并显示进度对话框。

请让我知道什么是处理这种情况

有道这里是异步任务。我试图使它通用在这里我通过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

我最终什么事做 - 啪AlertDialog,创建的AsyncTask侦听器接口和任务完成调用父调用者。