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