2012-07-27 94 views
0

我有两个活动。活动A从活动B将使用的网络获取大量信息。活动A使用ProgressDialog来下载信息,然后触发启动活动B的意图。这可以正常工作,但是在ProgressDialog消失后,在活动B开始之前大约会有1-3秒的暂停。活动B使用下载的信息来显示一个大的ListView。Android暂停加载前页面

无论如何,我的ProgressDialog完成显示后,以防止这种暂停?

守则上的活动触发的事件A

progressdialog = ProgressDialog.show(this, "", "Loading..."); 
     mAsyncFacebookRunner.request("fql", paramaters, new FQLRequestListener()); 

代码为Facebook RequestListener

private class FQLRequestListener implements RequestListener { 

    @Override 
    public void onComplete(String response, Object state) { 
     try { 
      // Load Lots of Data Here ... 


      Intent Invite = new Intent(ActivityA.this, ActivityB.class); 
      Bundle bundle = new Bundle(); 
      bundle.putSerializable("items", items); 
      Invite.putExtras(bundle); 

      progressdialog.dismiss(); 
      startActivityForResult(Invite, INVITE_FRIENDS); 


     } catch (JSONException e) { 


     } catch (FacebookError e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 

    @Override 
    public void onIOException(IOException e, Object state) { 
     // TODO Auto-generated method stub 
     Log.d("exception", "IOException"); 

    } 

    @Override 
    public void onFileNotFoundException(FileNotFoundException e, 
      Object state) { 
     // TODO Auto-generated method stub 
     Log.d("exception", "FNFException"); 

    } 

    @Override 
    public void onMalformedURLException(MalformedURLException e, 
      Object state) { 
     // TODO Auto-generated method stub 
     Log.d("exception", "MalformedURLException"); 

    } 

    @Override 
    public void onFacebookError(FacebookError e, Object state) { 
     // TODO Auto-generated method stub 
     Log.d("exception", "FacebookError"); 

    } 

} 
+0

发布您的代码.. – user370305 2012-07-27 06:23:01

+0

代码现已发布。 – 2012-07-27 06:41:37

回答

1

即暂停时间无非是活动B.屏幕加载时间和加载数据的UI .. 不要使onCreate()方法大..做一些不同的线程加载数据到UI ..就像AsynTask或任何正常的线程..然后它会很好..

+0

因此,如果我使用AsyncTask来加载用户界面,那么当用户界面加载时,我必须显示必须在Activity B上显示另一个ProgressDialog? – 2012-07-27 06:45:20

+0

这将是很好的显示一些进展...如果活动包含大量的数据..那么它将很高兴显示一些进展..因为用户界面可能需要时间来加载数据.. – mainu 2012-07-27 06:54:09

+0

这个工程。感谢你的回答! – 2012-07-27 06:56:10