我开发了一个通过 HTTP-Request 与服务器通信的 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());
}
}