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.DialogListBinding; import com.hdl.photovoltaic.utils.UnitConversionUtils; import com.hdl.photovoltaic.widget.adapter.PowerStationDialogAdapter; import java.util.ArrayList; import java.util.List; public class AddPowerStationDialog extends BaseDialog { private final Context mContext; private DialogListBinding viewBinding; private List list = new ArrayList<>(); private PowerStationDialogAdapter powerStationDialogAdapter; private PowerStationDialogAdapter.OnclickListener itemOnclickListener;//点击了的监听器 public AddPowerStationDialog(@NonNull Context context) { super(context, R.style.Custom_Dialog); this.mContext = context; this.list.add(this.mContext.getString(R.string.simple_debugging)); this.list.add(this.mContext.getString(R.string.general_debugging)); } @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, 140); layoutParams.x = (int) UnitConversionUtils.dpToPx(mContext, 219); layoutParams.y = (int) UnitConversionUtils.dpToPx(mContext, 89); window.setAttributes(layoutParams); } viewBinding = DialogListBinding.inflate(getLayoutInflater()); setContentView(viewBinding.getRoot()); LinearLayoutManager linearLayout = new LinearLayoutManager(mContext); powerStationDialogAdapter = new PowerStationDialogAdapter(this.list, mContext); viewBinding.logicRcv.setLayoutManager(linearLayout); viewBinding.logicRcv.setAdapter(powerStationDialogAdapter); powerStationDialogAdapter.setItemOnclickListener(new PowerStationDialogAdapter.OnclickListener() { @Override public void onClick(int position, String title) { if (itemOnclickListener != null) { itemOnclickListener.onClick(position, title); } } }); } public void setItemOnclickListener(PowerStationDialogAdapter.OnclickListener onclickListener) { if (onclickListener != null) { this.itemOnclickListener = onclickListener; } } }