0

進行状況ダイアログが表示されないのは、ブロッキング呼び出しを削除することで解決されました。

私の目的は、インターネットから大量のデータをダウンロードし、ダウンロードステータスをエンドユーザーに通知することですが、次のステップに進むためにダウンロードが完了するまでデータを待つ必要があります。そのため、次のステップからコードをブロックする必要があります。実行中。

ブロックすると、進行状況ダイアログが表示またはフリーズしなくなります。これらのタスクを最良の方法で実装するためのヒントが必要です。私のタスクは単純なので、タスク完了リスナーを実装するのはやり過ぎのようです。問題を解決する他の方法があるかどうか疑問に思っていました。

4

2 に答える 2

1

これを使用できます:

@Override
protected void onPreExecute() {

dialog= ProgressDialog.show(YourActivity.this, "", "MessageYouWantToDisplay");

}       


@Override
protected void onPostExecute(T result) {

dialog.dismiss();

}

次のように入力して、AsycTask を拡張するクラスを呼び出します。

 new NameOFClass().execute();

最初にこれをテストとして試し、DoInBackground メソッドに Thread.sleep() を入れて、その仕組みを理解してください。その後、実際のメソッド、データなどを使用してプロジェクトで使用します。

于 2012-05-26T13:46:47.990 に答える
0

これを試して:::

    @Override
    protected void onPreExecute() {
        dialog = new ProgressDialog(YourActivity.this);
        dialog.setMessage("Progress start");
        dialog.show();
        Log.d(TAG, "Showing dialog");
    }

    @Override
    protected void onPostExecute(T result) {
        dialog.dismiss();
        Log.d(TAG, "Dismissing dialog");
    }
于 2012-05-26T12:28:40.170 に答える