Java Android禁用任何onTouch

Java Android禁用任何onTouch,java,android,events,Java,Android,Events,我开发了一个Android应用程序,通过HTTP请求与服务器进行通信。 有时,请求需要更多的时间,因此应用程序只显示一个黑屏,几秒钟后就会消失。有时几秒钟后会出现黑屏,您可以一次又一次地发送请求 在加载屏幕时,是否有可能禁用onTouch事件或显示图层 谢谢。使用asyncTask并在doInBackground()方法中启动您的httprequest,要阻止用户,只需显示一个ProgressDialog: class YourRequestTask extends AsyncTask<V

我开发了一个Android应用程序,通过HTTP请求与服务器进行通信。 有时,请求需要更多的时间,因此应用程序只显示一个黑屏,几秒钟后就会消失。有时几秒钟后会出现黑屏,您可以一次又一次地发送请求

在加载屏幕时,是否有可能禁用onTouch事件或显示图层


谢谢。

使用
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());
        }

    }
class YourRequestTask扩展了AsyncTask{
进程对话进程;
语境;
公共YourRequestTask(上下文){
this.context=上下文;
}
@凌驾
受保护的void onPreExecute(){
progress=ProgressDialog.show(上下文,null,“请稍候…”);
}
@凌驾
受保护的JSONObject doInBackground(无效…参数){
//在这里完成http请求的工作
}
@凌驾
受保护的void onPostExecute(JSONObject结果){
进步。解散();
Log.i(标记“result is”+result.toString());
}
}

您正在切换用户界面。例如,您需要在AsynTask中执行HTTP请求,并提示用户等待对话框。最好让用户控制应用程序。是的,正如@Anis所说。请发布您的代码,我们可以建议修复。另外,正确的解决方案不是禁用onTouch事件,而是跟踪您的请求是否正在使用信号量运行,现在发出第二个请求。这正是我要寻找的!非常感谢你!