Я не могу остановить таймер, хотя я использовал условное, единственное, что не перестает повторяться, я не знаю, куда положить timer.cancel или timer.purgue Когда Nrepetir = false, задача больше не повторяется,Таймер не останавливается, я буду пытаться очистить, отменить и task.cancel или условно, но всегда повторять.ЗДЕСЬ ВСЕ МЕТОДЫ:
final Handler handler = new Handler();
final Timer timer = new Timer();
TimerTask task = new TimerTask() {
@Override
public void run() {
if(Nrepetir==true) {
Nrepetir=false;
AsyncHttpClient clienteTurno = new AsyncHttpClient();
RequestParams rpTurno = new RequestParams();
rpTurno.put("IdPartida", IdPartida);
rpTurno.put("IdUsuario", IdUsuario);
clienteTurno.get(urlTurno, rpTurno, new JsonHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
if (statusCode == 200) {
String respuesta = response.toString();
Gson gson = new Gson();
ComprobarTurno turno = gson.fromJson(respuesta, ComprobarTurno.class);
int res = turno.getSuccess();
Log.d("DEBUG - MENSAJE TURNO", turno.getMessage());
//Si es correcta
turnoJugador = turno.getPosicion();
turnoActual = turno.getTurno();
valorRecibidoReal = turno.getValorRecibidoReal();
valorRecibido = turno.getValorRecibido();
}
}
@Override
public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
}
@Override
public boolean getUseSynchronousMode() {
return false;
}
});
AsyncHttpClient clienteCorreos = new AsyncHttpClient();
RequestParams rpCorreos = new RequestParams();
rpCorreos.put("IdPartida", IdPartida);
clienteCorreos.get(urlCorreos, rpCorreos, new JsonHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
if (statusCode == 200) {
String respuesta = response.toString();
Gson gson = new Gson();
CorreosPartida correos = gson.fromJson(respuesta, CorreosPartida.class);
int res = correos.getSuccess();
lista.addAll(correos.getCorreos());
Log.d("DEBUG - NOMBRE1", lista.get(0));;
Log.d("DEBUG - NOMBRE2", lista.get(1));;
}
}
@Override
public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
}
@Override
public boolean getUseSynchronousMode() {
return false;
}
});
AsyncHttpClient clienteFallos = new AsyncHttpClient();
RequestParams rpFallos = new RequestParams();
rpFallos.put("IdPartida", IdPartida);
clienteFallos.get(urlFallos, rpFallos, new JsonHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
if (statusCode == 200) {
String respuesta = response.toString();
Gson gson = new Gson();
FallosPartida fallos = gson.fromJson(respuesta, FallosPartida.class);
Log.d("DEBUG - FALLOS", fallos.getMessage());
for (String s : fallos.getFallos()) {
listaFallosVariable.add(Integer.valueOf(s));
Log.d("DEBUG - FALLOS", s);
}
}
}
@Override
public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
}
@Override
public boolean getUseSynchronousMode() {
return false;
}
});
}else {
Log.d("DEBUG - TIMER CANCEL", String.valueOf(Nrepetir));
timer.cancel();
}
}
};
Log.d("DEBUG - BOOLEAN", String.valueOf(Nrepetir));
timer.schedule(task, 0, 3000);