Ho un codice che imposta un timer, ma se un utente imposta il timer mentre è in uso ho bisogno di rimuovere il runnable che esegue il timer e ricominciare. Ma quando non esiste un callback di callback eseguibile e questo codice viene chiamato si blocca la mia applicazione. Quindi ho bisogno di verificare se un gestore è in esecuzione, in tal caso quindi terminarlo e riavviarlo, ma osservando la documentazione e altre domande StackOverflow, non riesco a vedere se è possibile.Controlla se il gestore di Android ha richiamate
Ecco il mio codice, ho commentato tutto il codice che deve essere eseguito solo se esiste un gestore eseguibile:
submitTimer.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
String s = timer.getText().toString();
if(!s.equals(""))
{
//I NEED TO CHECK A RUNNABLE HANDLER EXISTS AND IF SO THEN RUN THIS CODE, IF NOT IGNORE THIS CODE
Map.handler.removeCallbacks(Map.getRunnable());
Map.runnable.run();
//I NEED TO CHECK A RUNNABLE HANDLER EXISTS AND IF SO THEN RUN THIS CODE, IF NOT IGNORE THIS CODE
int l = Integer.parseInt(s);
Map.timerinmins = l;
timer.setHint("Current Timer is "+Map.timerinmins);
timer.setText("");
Toast.makeText(Preferences.this, "Timer is set!", Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(Preferences.this, "No value was entered", Toast.LENGTH_SHORT).show();
}
}
});
Qualcuno può aiutarmi a trovare un modo di controllare i gestori dello stato attuale?