2016-12-22 1 views
0

Je veux post() certains Runnable est à Handler J'ai créé et exécuter du code avant et après que le run() du Runnable s'appelle. Existe-t-il un moyen simple de le faire en remplaçant la classe Handler ou similaire?Quand run() est-il appelé lorsque vous publiez un Runnable dans un gestionnaire?

Editer: J'utilise la méthode pause dans la réponse sur cette page: Android, pausing and resuming handler callbacks. Fondamentalement, je veux injecter une pause chaque fois que le gestionnaire commence à exécuter un Runnable (ou Message) et ensuite reprendre le gestionnaire en externe.

+0

Peut-être que vous pouvez partager les codes que vous avez écrits? – root

+1

@HaydenKai utilise AsyncTask –

+2

afin que vous puissiez voir dans la réponse que vous avez posté son 'void handleMessage (Message msg)' où 'Message's sont gérés – pskink

Répondre

0

Comme mentionné @pskink le Runnable est appelé ici,

@Override 
public void handleMessage(Message msg) { 
    if (isPaused) { 
     stack.push(Message.obtain(msg)); 
    } else { 
     super.handleMessage(msg); 
    } 
} 

Le Runnable qui est affiché est transformé en un Message puis la Message est traitée ici.