0

私が最初にやりたかったことは、進行状況ダイアログをアプリケーション リスト アクティビティに追加することでした。アクティビティはそれほど時間はかかりませんが (いずれにしてもそれほど時間はかかりません)、json の解析からデータを解析してリスト アクティビティに埋め込むアクティビティがユーザーに悪い印象を与えるときに、UI が応答しなくなることは望ましくありません。私を助けてください

4

1 に答える 1

0

AsyncTask を使用して、データの解析中に進行状況ダイアログを表示します

private class DownloadingProgressTask extends
        AsyncTask<String, Void, Boolean> {

    private ProgressDialog dialog = new ProgressDialog(ShowDescription.this);

    /** progress dialog to show user that the backup is processing. */

    /** application context. */

    protected void onPreExecute() {
         this.dialog.setMessage("Please wait");
         this.dialog.show();

    }

    protected Boolean doInBackground(final String... args) {
        try {
            downloadFile(b.getString("URL"));
            return true;
        } catch (Exception e) {
            Log.e("tag", "error", e);
            return false;
        }
    }

    @Override
    protected void onPostExecute(final Boolean success) {

         if (dialog.isShowing()) {
         dialog.dismiss();
         }

        if (success) {
            Toast.makeText(ShowDescription.this,
                    "File successfully downloaded", Toast.LENGTH_LONG)
                    .show();
            //imgDownload.setVisibility(8);
        } else {
            Toast.makeText(ShowDescription.this, "Error", Toast.LENGTH_LONG)
                    .show();
        }
    }

}
于 2012-06-27T05:27:11.220 に答える