Partiamo dall'ipotesi che un Handler metta un Runnable in una catena di messaggi chiamata MessageQueue.
Proviamo a stoppare l'handler senza chiudere l'activity in modo da essere sicuri che si tratti dello stesso handler.
button=(Button)findViewById(R.id.button1); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { handler.postDelayed(r, 10000); } }); button2=(Button)findViewById(R.id.button2); button2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { handler.removeCallbacksAndMessages(null); } });Sì, è perfettamente riuscito.
Il problema è che, da un'altra activity, il riferimento all'handler si è perso, e non lo si può più ripescare per togliere la callback.
Nessun commento:
Posta un commento