首先自定义一个dialog继承自dialog
public class CustomDialog extends Dialog {
private Context c;
public CustomDialog(@NonNull Context context) {
super(context);
c = context;
}
public CustomDialog(@NonNull Context context, int themeResId) {
super(context, themeResId);
c = context;
}
protected CustomDialog(@NonNull Context context, boolean cancelable, OnCancelListener cancelListener) {
super(context, cancelable, cancelListener);
c = context;
}
/**
* 基本列表弹窗
* @param datas 内容
* @param dialogListener 位置回调
*/
public void init(String[]datas, final DialogListener dialogListener){
View v = LayoutInflater.from(c).inflate(R.layout.dialog_style1,null);
this.setContentView(v);
this.setCancelable(true);
RecyclerView rv = v.findViewById(R.id.rv);
DialogAdapter adapter = new DialogAdapter(c, datas, new DialogRvListener() {
@Override
public void onItemClick(int pos) {
if (dialogListener!=null){
dialogListener.onItemClick(pos);
dismiss();
}
}
});
rv.setAdapter(adapter);
rv.setLayoutManager(new LinearLayoutManager(c));
//窗口位置
setWindow(getWindow());
}
/***
* 带标题弹窗
* @param datas 内容
* @param title 标题
* @param dialogListener 位置回调
*/
public void init(String[]datas,String title,final DialogListener dialogListener){
View v = LayoutInflater.