2012-07-27 3 views
0

두 가지 활동이 있습니다. 활동 A는 활동 B가 사용할 웹에서 많은 양의 정보를 가져옵니다. 활동 A는 ProgressDialog를 사용하여 정보를 다운로드 한 다음 활동 B를 시작하려는 의도를 실행합니다.이 작업은 정상적으로 진행되지만 ProgressDialog가 사라진 후 활동 B가 시작되기 전에 약 1-3 초 정도 일시 중지됩니다. 활동 B는 다운로드 한 정보를 사용하여 큰 ListView를 표시합니다.Android 정지 후 로딩 페이지

ProgressDialog가 표시되면이 일시 중지를 방지 할 수 있습니까? 활동에 트리거 이벤트에 대한

코드는 페이스 북 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

+0

코드가 게시되었습니다. –

답변

1

그 일시 정지 타이밍에 대한

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

코드 활동 B의 화면 로딩 시간 아무것도 그리고 데이터와 UI를로드하지 않습니다 .. onCreate() 메소드를 크게 만들지 마라. AsynTask 나 일반 스레드와 같은 다른 스레드에서 UI로 데이터로드하기. 그러면 괜찮아 질 것이다 ..

+0

AsyncTask를 사용하여 UI를로드하면 UI가로드되는 동안 본질적으로 B 액티비티에 다른 ProgressDialog를 표시해야합니다. –

+0

일부 진행 상황을 표시하는 것이 좋을 것입니다 ... 활동에 엄청난 양의 데이터가 포함되어 있다면 UI가 데이터로드에 시간이 걸릴 수 있으므로 진행 상황을 표시하는 것이 좋습니다. – mainu

+0

이것은 작동합니다. 답변 해주셔서 감사합니다! –