HTTPリクエストを介してサーバーと通信するAndroidアプリを開発しました。リクエストに時間がかかることがあるため、アプリは黒い画面を表示し、数秒後に経過します。数秒後に黒い画面が表示され、リクエストを何度も送信できる場合があります。
画面の読み込み中にonTouch-Eventsを無効にしたり、レイヤーを表示したりする可能性はありますか?
ありがとうございました。
を使用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());
}
}