package com.hdl.photovoltaic.widget; import android.content.Context; import android.os.Bundle; import android.view.Gravity; import android.view.ViewGroup; import android.view.Window; import android.view.WindowManager; import androidx.annotation.NonNull; import androidx.recyclerview.widget.LinearLayoutManager; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.base.BaseDialog; import com.hdl.photovoltaic.databinding.DialogTypeTitleListBBinding; import com.hdl.photovoltaic.utils.UnitConversionUtils; import com.hdl.photovoltaic.widget.adapter.TypeListDialogAdapter; import java.util.List; public class BTypeTitleListDialog extends BaseDialog { private OnClickListener mOnClickListener; private DialogTypeTitleListBBinding viewBinding; private TypeListDialogAdapter typeListDialogAdapter; private Context mContext; String mSelectType; private List mList; public BTypeTitleListDialog(@NonNull Context context, List list, String selectType) { super(context, R.style.Custom_Dialog); this.mContext = context; this.mList = list; this.mSelectType = selectType; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Window window = getWindow(); if (window != null) { window.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); WindowManager.LayoutParams layoutParams = window.getAttributes(); layoutParams.gravity = Gravity.START | Gravity.TOP; layoutParams.width = (int) UnitConversionUtils.dpToPx(mContext, 375 - 32); layoutParams.x = (int) UnitConversionUtils.dpToPx(mContext, 16); layoutParams.y = (int) UnitConversionUtils.dpToPx(mContext, 137+44); window.setAttributes(layoutParams); } viewBinding = DialogTypeTitleListBBinding.inflate(getLayoutInflater()); setContentView(viewBinding.getRoot()); LinearLayoutManager linearLayout = new LinearLayoutManager(mContext); typeListDialogAdapter = new TypeListDialogAdapter(this.mList, mContext, this.mSelectType); viewBinding.typeListRl.setLayoutManager(linearLayout); viewBinding.typeListRl.setAdapter(typeListDialogAdapter); typeListDialogAdapter.setItemOnclickListener(new TypeListDialogAdapter.OnclickListener() { @Override public void onClick(int position, String title) { dismiss(); if (mOnClickListener != null) { mOnClickListener.onClick(position, title); } } }); } @Override protected void onStart() { super.onStart(); } public void setOnListener(OnClickListener onClickListener) { this.mOnClickListener = onClickListener; } public interface OnClickListener { void onClick(int position, String title); } }