实现您自己的侦听器/回调。例如,创建一个onCloseListener接口。你的活动将实现该界面,并且该对话框实现了一个setOnCloseListener
方法。创建对话框时,您将活动分配为onCloseListener,当对话框关闭时,它会调用您的活动中实现的接口方法。
这里有一个监听器接口和实现调用drawView函数的自定义视图的内声明的例子:
public interface OnUndoEventListener {
public abstract void onUndoEvent();
}
ListenerInfo getListenerInfo() {
if (mListenerInfo != null) {
return mListenerInfo;
}
mListenerInfo = new ListenerInfo();
return mListenerInfo;
}
public void setOnUndoEventListener(OnUndoEventListener l) {
getListenerInfo().mOnUndoEventListener = l;
}
static class ListenerInfo {
private OnUndoEventListener mOnUndoEventListener;
}
ListenerInfo mListenerInfo;
这是一个活动的实现声明并设置监听器:
public class MyActivity extends Activity implements DrawView.OnUndoEventListener {
...
@Override
protected void onCreate(Bundle savedInstanceState) {
...
mDrawView = new DrawView(this, ...);
mDrawView.setOnUndoEventListener(this);
...
};
@Override
public void onUndoEvent() {
...
}
...
}
调用回调在DrawView中:
private void someMethod(){
if (getListenerInfo().mOnUndoEventListener != null)
getListenerInfo().mOnUndoEventListener.onUndoEvent();
....
};
你明白我的意思了nted。这明确地工作。谢谢! –