引入问题:
Android中常见的设置某某控件(模块)的监听。形如setOnClickListener() 、 OnItemClickListener()等等。这其实就是一个回调机制的实现。
当要自己实现一个 类似于Listener的东西 or 回调 该如何操作呢?
实现方式一:
(1)定义监听接口
public interface DataParseListener {
public void addArrayListDataSet();
public void finishParse();
}
(2)实现监听接口的方法
DataParseListener dataParseListener = new DataParseListener() {
@Override
public void finishParse() {
// TODO Auto-generated method stub
Logger.d("finishParse do");
}
@Override
public void addArrayListDataSet() {
// TODO Auto-generated method stub
Logger.d("addArrayListDataSet do");
}
};
(3)设置监听对象生效
private DataParseListener mDataParseListener = null;
public void setParseListener(DataParseListener listener) {
Logger.d("setParseListener run");
mDataParseListener = listener;
mLockFlag = false;
synchronized (mLockFlagObject) {
mLockFlagObject.notifyAll();
}
}
(4)如何回调:当它一运行,实质就调用在(1)中接口实现了。
mDataParseListener.addArrayListDataSet();
mDataParseListener.finishParse();