我做的很简单,
首先实现一个 Handlers 列表
LinkedList<Handler> mHandlers = new LinkedList<Handler>();
LinkedList<String> mTags = new LinkedList<String>();
然后我为注册和从列表中删除处理程序创建了两个函数
private void registerHandler(Handler h, String tag){
mHandlers.add(h);
mTags.add(h);
}
private void removeHandler(String tag){
int index=10000;
for(int i = 0; i < mTags.size(); i++){
if(s.equals(mTags.get(i))){
index=i;
break;
}
}
if(index != 10000){
mTags.remove(index);
mHandlers.remove(index);
}
}
对于向 n-Handlers 发送消息,我将我的功能更改为
for(Handler h:mHandlers){
h.obtainMessage(MESSAGE_SOMETHING).sendToTarget();
}
就这样...