链接是类外部的接口:https://blog..net/u012246458/article/details/84065796
下面是类内部的接口→
说明:
把接口放在类内部,类似于OnClickListener的回调方式。
1、调用
这里使用了一个dalog来做调用,使用内部接口做回调
//显示锁屏
WalkLockDialog walkLockDialog = new WalkLockDialog(getActivity(), new WalkLockDialog.OnDismissListener() {
@Override
public void dismissCur() {
//接口回调
}
});
walkLockDialog.show();
2、Dialog
Dialog里面有自己的内部接口,外部实现就可以了
public class WalkLockDialog extends Dialog implements View.OnClickListener {
private OnDismissListener onDismissListener;//用于接收传入的接口对象
public WalkLockDialog(@NonNull Context context, OnDismissListener onDismissListener) {
super(context, R.style.walkDialog);
this.onDismissListener = onDismissListener;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.xxx);
SlidingButtonLayout mLockButton = (SlidingButtonLayout) findViewById(R.id.lockBT);
mLockButton.setOnFinshDragListener(new SlidingButtonLayout.OnFinshDragListener() {
@Override
public void onFinshDragDone() {
onDismissListener.dismissCur();//接口回调
}
});
}
/**
* 接口
*/
public interface OnDismissListener {
public void dismissCur();//回调
}
}