0

私には2つの活動があります。アクティビティAは、アクティビティBが使用する大量の情報をWebから取得します。アクティビティAはProgressDialogを使用して情報をダウンロードし、アクティビティBを開始するインテントを起動します。これは正常に機能しますが、ProgressDialogが消えた後、アクティビティBが開始する前に約1〜3秒の一時停止があります。アクティビティBは、ダウンロードした情報を使用して大きなListViewを表示します。

ProgressDialogの表示が完了した後、この一時停止を防ぐ方法はありますか?

アクティビティAでトリガーされたイベントのコード

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

FacebookRequestListenerのコード

   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");

    }

}
4

1 に答える 1

1

その一時停止のタイミングは、アクティビティ B の画面読み込み時間に他なりません。そして、UI にデータを読み込みます。onCreate() メソッドを大きくしないでください。別の Thread で UI にデータを読み込みます。通常のスレッドで..それなら大丈夫です..

于 2012-07-27T06:39:46.310 に答える