package com.cheng.bestpractice.observer.observer.impl; import android.os.Handler; import android.os.Looper; import com.cheng.bestpractice.observer.observer.i.IEventObserver; /** * 用于更新UI,这里执行更新UI的onChange方法 */ public abstract class EventObserver implements IEventObserver { private Handler mHandler; public EventObserver(){ mHandler=new Handler(Looper.getMainLooper()); } public abstract void onChange(String eventType); @Override public void dispatchChange(String eventType){ mHandler.post(new NotificationRunnable(eventType)); } private final class NotificationRunnable implements Runnable{ private String mEventType; public NotificationRunnable(String eventType){ this.mEventType=eventType; } @Override public void run() { EventObserver.this.onChange(mEventType); } } }