Можно ли использовать один обработчик в моей активности для всех runnables или мне нужно иметь несколько экземпляров Handler, каждый из которых выполняется один раз?
Android: один обработчик для всех runnables?
Ответ 1
Вы можете использовать только один handler
и указать, откуда вы собираетесь использовать другое сообщение.
handler.sendEmptyMessage(messagevalue); //use this to send message from different place
Теперь обработайте сообщение
private Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
//specify msg value
if(msg.what==10){
//do this
}else if(msg.what==20){
// do this
}else{
//so on....
}
}
};
Ответ 2
Я бы сказал, что у вас должен быть один обработчик на поток (не на runnable), если вам не требуется совершенно другое поведение для разных видов runnables.