0

HTTPリクエストを介してサーバーと通信するAndroidアプリを開発しました。リクエストに時間がかかることがあるため、アプリは黒い画面を表示し、数秒後に経過します。数秒後に黒い画面が表示され、リクエストを何度も送信できる場合があります。

画面の読み込み中にonTouch-Eventsを無効にしたり、レイヤーを表示したりする可能性はありますか?

ありがとうございました。

4

1 に答える 1

1

を使用asyncTaskしてメソッドでhttprequestを起動し、ユーザーをブロックするには、 :doInBackground()を表示するだけです。ProgressDialog

class YourRequestTask extends AsyncTask<Void, Void, JSONObject> {

        ProgressDialog progress;
        Context context;

        public YourRequestTask(Context context) {
             this.context = context;
        }

        @Override
        protected void onPreExecute() {
            progress = ProgressDialog.show(context, null,"Please wait...");
        }

        @Override
        protected JSONObject doInBackground(Void... params) {
            //do your work here for your http request
        }

        @Override
        protected void onPostExecute(JSONObject result) {
            progress.dismiss();
                        Log.i(TAG, "result is "+result.toString());
        }

    }
于 2012-11-28T15:16:01.907 に答える