1.创建回调接口,如:
public interface topbarClickListener {
// 左按钮点击事件
void leftClick();
// 右按钮点击事件
void rightClick();
}
2.生成接口对象,如:
private topbarClickListener mListener;
3.调用接口的方法,回调时,完成具体的实现:
mRightButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mListener.rightClick();
}
});
mLeftButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mListener.leftClick();
}
});
4.
暴露一个方法给调用者来注册接口回调,通过接口来获得回调者对接口方法的实现:
public void setOnTopbarClickListener(topbarClickListener mListener) {
this.mListener = mListener;
}
5.具体实现接口内的方法:
mTopbar.setOnTopbarClickListener(
new TopBar.topbarClickListener() {
@Override
public void rightClick() {
Toast.makeText(TopBarTest.this,
"right", Toast.LENGTH_SHORT)
.show();
}
@Override
public void leftClick() {
Toast.makeText(TopBarTest.this,
"left", Toast.LENGTH_SHORT)
.show();
}
});