Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 根据运行时间取消OnTouchListener_Java_Android - Fatal编程技术网

Java 根据运行时间取消OnTouchListener

Java 根据运行时间取消OnTouchListener,java,android,Java,Android,我有上面提到的代码。在图像上设置onclick侦听器。因此,当我点击图像时,我会覆盖onTouch方法。然后我检查我是否有互联网连接。如果有,我会尝试从互联网下载内容。我想做的是用一些东西作为计时器,检查下面的代码行 image.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View arg0, MotionEvent arg1)

我有上面提到的代码。在图像上设置onclick侦听器。因此,当我点击图像时,我会覆盖onTouch方法。然后我检查我是否有互联网连接。如果有,我会尝试从互联网下载内容。我想做的是用一些东西作为计时器,检查下面的代码行

    image.setOnTouchListener(new OnTouchListener() {

             @Override
             public boolean onTouch(View arg0, MotionEvent arg1) {   
                String serverResponse = "";
                JSONObject responseToJSON = null;
                    try {
                        //if we have Internet connection
                        if(NetworkRequest.hasNetworkConnection(MyActivity.this)){
                            //download the server response
                            serverResponse = NetworkRequest.getUrlData(array.get(i));
                            responseToJSON = new JSONObject(serverResponse);
                            String individualDescription = responseToJSON.getString("Description");                 
                        }

                    } catch (Exception e) {
                         e.printStackTrace();
                    }

                 return false;
             } 
    });
下载内容需要2秒钟以上。如果下载内容需要2秒钟以上,我想取消下载和OnTouchListener。这可能吗?有什么想法吗?

检查这个。将系统时间分配给一个变量,然后检查此时间是否大于上一个时间+2000,现在开始:-)


干杯

请注意,这段代码应该为您提供一个
NetworkMainThreadException
。下载时间是一个近似值,无法精确计算。你有计算下载需要多长时间的代码吗?@m0skit0没有。老实说,我不知道怎么做我想做的事。我只需要一个建议你没有回答这个问题。如何取消下载?听众呢?这可能吗?我看不出您如何使用此实现来实现它。我认为您应该使用一个控制进程,它将在两秒钟后执行,因为一旦开始下载,您需要一个线程进程来查看是否需要超过2秒的时间。
NetworkRequest.getUrlData(array.get(i))