2013-03-09 59 views
0

我正在創建一個應用程序,在該應用程序中我必須從Internet獲取一些數據並在UI上將其顯示給用戶。 我在AsyncTaskonPreExecute()方法和onPostExecute()方法中創建了一個進度條,我已經將所有數據傳遞給另一個Activity和startActivty。然後我忽略進度對話框。但是,它不好。 當第二個activityonCreate方法中的UI上加載數據時,ProgressBar會掛起。 我該如何解決這個問題。如何顯示從互聯網加載數據和在UI上顯示內容的相同進度條

這裏是我的代碼:

@Override 
    protected void onPreExecute() { 
     proDialog = new ProgressDialog(mContext); 
     proDialog.setTitle("Support Manager"); 
     proDialog.setMessage("Logging in ..."); 
     proDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); 
     proDialog.setIcon(R.drawable.ic_launcher); 
     proDialog.show(); 
     super.onPreExecute(); 
    } 


    @Override 
    protected RepresentativeData doInBackground(String... params) { 
     JSONObject result = null; 

     try { 
      result = client.reprentativeDetailNode(params[0]); 
      LoginJsonParsing loginJsonParsing = new LoginJsonParsing(); 
      Details = loginJsonParsing 
        .Details(result); 
     } catch (ClientProtocolException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     return Details; 
    } 

    @Override 
    protected void onPostExecute(Data result) { 

     Intent secActivity = new Intent(mContext,YourRepresentative.class); 
     secAcitivity.putExtra("detail", result); 

     mContext.startActivity(secActivity); 
     proDialog.dismiss(); 
     super.onPostExecute(result); 
    } 
+0

您可以發佈您的代碼而不是DECP – DjHacktorReborn 2013-03-09 09:08:48

+0

我有更新我的代碼 – 2013-03-09 09:20:46

+0

嘗試proDialog.dismiss();在mContext.startActivity(secActivity)之前; – DjHacktorReborn 2013-03-09 09:40:03

回答

0

你不能有一個進步,切換到新的活動時顯示

+0

沒關係,但我的用戶界面需要更多時間來加載。所以我想在切換到新的活動時顯示對話框。 – 2013-03-09 11:05:16

+0

在後臺執行加載任務並顯示進度條並在完成時關閉 – DjHacktorReborn 2013-03-09 11:08:04

相關問題