我们在一些地方需要自定义一些点击事件的回调,进行一些相应的操作,所以这里我们可以封装一个公有的方法,在需要的地方实现该接口,方便了操作。
首先我们要定义我们需要的接口,拿一个弹框来说,大部分弹框都有取消,确定两个按钮。我们就拿它来说。
1.第一步,定义一个类,自定义取消,确定按钮的方法。
public interface DialogButtonBack {
void buttonCancelBalck();//取消
void buttonSureBalck();//确定
}
2.取消,确定事件的回调
//取消,确定事件的回调
public class CancelBackData {
private static DialogButtonBack dialogButtonBack;
public static void setDialogCancelBack(DialogButtonBack dialogButtonBackto) {
dialogButtonBack = dialogButtonBackto;
}
public static void doCallBack() {//取消事件的回调
if (dialogButtonBack != null) {
dialogButtonBack.buttonCancelBalck();
}
}
public static void doSureBack() {//确定事件的回调
if (dialogButtonBack != null) {
dialogButtonBack.buttonSureBalck();
}
}
}
第三步就是使用了
在弹框的按钮的点击事件里
buttonLeft.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
CancelBackData.doCallBack();
dismiss();
}
});
buttonRight.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
CancelBackData.doSureBack();
dismiss();
}
});
在 接收的Activity里 实现 DialogButtonBack接口,实现里面的方法。注意一点的是在Activity的初始化一下 CancelBackData这个类,加上这句话
CancelBackData.setDialogCancelBack(this);
具体的实例请看
https://download.youkuaiyun.com/download/shihuiyun/10675949