1.自定义控件中,子空间回调通知主控件。
/**
* 1.监听回调接口。
*/
public interface ChooseListener {
/**
* 返回参数
*/
void onSettingData(boolean isRestored);
}
/**
* 2.设置外部监听回调接口。
* @param listener
*/
public void setListener(ChooseListener listener) {
mOutListener = listener;
}
/*3.外部回调*/
mEffectSetting.setListener(new ChooseListener() {
@Override
public void onSettingData(boolean isRestored) {
。。。。。。
}
});
2.多界面回调通知
/** * 1.用于监听用户发生改变 * @author jxxu2 * */ public interface AccountListener{ /** * 用户发生改变的回调 * @param isAnonymous 是否为匿名用户 */ void onUserChange(boolean isAnonymous); }; /**2.用于存储外部的观察者*/ private ArrayList<AccountListener> mListenerList = new ArrayList<AccountManager.AccountListener>(); /** * 3.注册用户发生改变的监听 * @param listener * @return */ public boolean addAccountListener(AccountListener listener){ if(listener == null) return false; if(!mListenerList.contains(listener)){ mListenerList.add(listener); return true; }else return false; } 4.在各个界面处理相应的回调
/**
* 解注册指定观察者
* @param observer 被解注册的观察者
* @return 观察者对象在已注册的列表中,则将该观察者从列表中移除,并返回true,否则,返回false
*
*/
public boolean unregisterObserver(RecordObserver observer){
return mObserverList.remove(observer);
}