Android禁用任何onTouch

时间:2012-11-28 14:21:23

标签: java android events

我开发了一个Android应用程序,通过HTTP-Request与服务器进行通信。 有时候请求需要更多时间,因此应用程序只显示黑屏并在几秒后通过。有时黑屏会在几秒钟后出现,您可以反复发送请求。

是否有可能在屏幕加载时禁用onTouch-Events或显示图层?

谢谢。

1 个答案:

答案 0 :(得分:1)

使用asyncTask并在doInBackground()方法中启动您的httprequest,并阻止用户,只需显示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());
        }

    }