在Java中不允许直接操作指针,它的回调是接口和内部类来实现的
1.定义接口Callback,包含回调方法callback()
2.在一个类Caller中声明一个Callbck接口对象mCallback
3.在程序中赋予Caller对象的接口成员(mCallback) 一个内部类对象
Button的单击事件
//a.接口定义
public interface OnClickListener {
public void onClick(ClickButton button);
}
//b.定义ClickButton
class ClickButton {
OnClickListener listener;
public void click() {
listener.onClick(this);
}
public void setListener(OnClickListener listener) {
this.listener = listener;
}
}
//c.将接口对象OnClickListener赋给Button的接口成员
class TestActicity {
public TestActivity(){}
ClickButton a = new ClickButton();
a.setOnClickListener(new OnClickListener(){
public void Onclick(ClickButton button) {
Log.i("hh","clicked")
}
});
a.click();
}