package com.elphin.framework.app.mvc; import android.os.Handler; import android.os.Looper; import java.util.Observable; import java.util.Observer; /** * Created with IntelliJ IDEA. * * @author elphin * @version 1.0 * @date 13-6-24 下午10:42 */ public class BaseController extends Observable implements Controller, Observer { private static final Handler HANDLER = new Handler(Looper.getMainLooper()); @Override public void registerView(View view) { addObserver(view); } @Override public void unRegisterView(View view) { deleteObserver(view); } @Override public void notifyChange(final Object obj) { if (Looper.getMainLooper().getThread() != Thread.currentThread()) { HANDLER.post(new Runnable() { @Override public void run() { changed(obj); } }); } else { changed(obj); } } private void changed(Object obj) { setChanged(); notifyObservers(obj); } /** * 引擎消息结果处理 * @param observable * @param obj */ @Override public void update(Observable observable, Object obj) { //To change body of implemented methods use File | Settings | File Templates. } }