From ed7ae7fcc3adf66fbcc2b9481692791e9a167d04 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期二, 21 五月 2024 16:56:01 +0800 Subject: [PATCH] 2024年05月21日16:55:59 --- app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java | 6 +- app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java | 4 + app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java | 1 app/src/main/java/com/hdl/photovoltaic/widget/BTypeTitleListDialog.java | 116 ++++++++++++++++++++++++++++++++++++++ app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListEditActivity.java | 15 ++--- app/src/main/res/layout/dialog_type_title_list_b.xml | 28 +++++++++ 6 files changed, 158 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java b/app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java index 92e0c8c..43eaf78 100644 --- a/app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java +++ b/app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java @@ -26,6 +26,7 @@ public static final String network_change_post = "network_change"; //鐢电珯鐘舵�� public static final String station_status = "station_status"; + public static final String station_edit = "station_edit"; } diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java index 8756651..f5dd23d 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java @@ -28,7 +28,7 @@ import com.hdl.photovoltaic.ui.adapter.MessageAdapter; import com.hdl.photovoltaic.ui.bean.MessageBean; import com.hdl.photovoltaic.ui.bean.UnCountBean; -import com.hdl.photovoltaic.widget.TypeTitleListDialog; +import com.hdl.photovoltaic.widget.BTypeTitleListDialog; import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus; import org.greenrobot.eventbus.EventBus; @@ -244,9 +244,9 @@ * @param stringList 杩囨护绫诲瀷鍊艰〃 */ private void setTypeTitleListDialog(TextView textView, String filterType, List<String> stringList) { - TypeTitleListDialog typeTitleListDialog = new TypeTitleListDialog(_mActivity, stringList); + BTypeTitleListDialog typeTitleListDialog = new BTypeTitleListDialog(_mActivity, stringList); typeTitleListDialog.show(); - typeTitleListDialog.setOnListener(new TypeTitleListDialog.OnClickListener() { + typeTitleListDialog.setOnListener(new BTypeTitleListDialog.OnClickListener() { @Override public void onClick(int position, String title) { textView.setText(title); diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java index 9040eac..3ac21fd 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java @@ -615,6 +615,10 @@ viewBinding.powerStationOfflineIl.parentLl.performClick(); } else if (eventBus.getType().equals(PowerStationStatus.connecting)) { viewBinding.powerStationConnectedIl.parentLl.performClick(); + } else if (eventBus.getType().equals(ConstantManage.station_edit)) { + //鏇存柊涓�涓嬩綇瀹� + loadNextPageHouseList(false, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true); +// getStatusOverview(); } } } diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListEditActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListEditActivity.java index aa5901a..511f6e9 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListEditActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListEditActivity.java @@ -76,10 +76,11 @@ @Override public void onBackPressed() { super.onBackPressed(); - BaseEventBus baseEventBus = new BaseEventBus(); - baseEventBus.setTopic(ConstantManage.homepage_title_tab_switch); - baseEventBus.setType(HomepageTitleTabSwitch.powerstation.toString()); - EventBus.getDefault().post(baseEventBus); + sendEventBus(); + } + + private void sendEventBus() { + HdlCommonLogic.getInstance().postEventBus(ConstantManage.homepage_title_tab_switch, ConstantManage.station_edit); finish(); } @@ -88,11 +89,7 @@ viewBinding.toolbarTopFragmentHouseListRl.topBackLl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - BaseEventBus baseEventBus = new BaseEventBus(); - baseEventBus.setTopic(ConstantManage.homepage_title_tab_switch); - baseEventBus.setType(HomepageTitleTabSwitch.powerstation.toString()); - EventBus.getDefault().post(baseEventBus); - finish(); + sendEventBus(); } }); diff --git a/app/src/main/java/com/hdl/photovoltaic/widget/BTypeTitleListDialog.java b/app/src/main/java/com/hdl/photovoltaic/widget/BTypeTitleListDialog.java new file mode 100644 index 0000000..52ebcfe --- /dev/null +++ b/app/src/main/java/com/hdl/photovoltaic/widget/BTypeTitleListDialog.java @@ -0,0 +1,116 @@ +package com.hdl.photovoltaic.widget; + +import android.annotation.SuppressLint; +import android.app.Dialog; +import android.content.Context; +import android.os.Bundle; +import android.view.View; + +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.widget.adapter.TypeListDialogAdapter; + +import java.util.List; + +public class BTypeTitleListDialog extends BaseDialog { + private OnClickListener mOnClickListener; + private DialogTypeTitleListBBinding viewBinding; + + private TypeListDialogAdapter typeListDialogAdapter; + + private Context mContext; + + private List<String> mList; + + public BTypeTitleListDialog(@NonNull Context context, List<String> list) { + super(context, R.style.Custom_Dialog); + this.mContext = context; + this.mList = list; + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + viewBinding = DialogTypeTitleListBBinding.inflate(getLayoutInflater()); + setContentView(viewBinding.getRoot()); + setDialogTouchOutsideCloseable(this); + LinearLayoutManager linearLayout = new LinearLayoutManager(mContext); + typeListDialogAdapter = new TypeListDialogAdapter(this.mList, mContext); + 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(); +// // 鑾峰彇绐楀彛瀵硅薄 +// Window dialogWindow = this.getWindow(); +// if (dialogWindow != null) { +// // 鑾峰彇瀵硅瘽妗嗗綋鍓嶇殑鍙傛暟鍊� +// WindowManager.LayoutParams p = dialogWindow.getAttributes(); +// p.width = LinearLayout.LayoutParams.MATCH_PARENT; +// p.height = LinearLayout.LayoutParams.WRAP_CONTENT; +//// p.dimAmount = 0.6f; +// dialogWindow.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); +// p.gravity = Gravity.BOTTOM; +// p.y = DensityUtils.dip2px(mContext, 352); +//// //杩欓噷璁剧疆鐨勫楂樹紭鍏堢骇楂樹簬XML涓殑甯冨眬璁剧疆 +//// if (this.enumBoxType == BoxType.PhotoAlbumBox) { +//// p.gravity = Gravity.BOTTOM; +//// } else if (this.enumBoxType == BoxType.FlashingBox) { +//// p.dimAmount = 0f; +//// } +// // 璁剧疆鍒板睘鎬ч厤缃腑 +// dialogWindow.setAttributes(p); +// } +// setDialogTouchOutsideCloseable(this); + + } + + @SuppressLint("ClickableViewAccessibility") + public void setDialogTouchOutsideCloseable(Dialog dialog) { + viewBinding.typeParentCl.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + int top = viewBinding.dialogParentCl.getTop(); + int left = viewBinding.dialogParentCl.getLeft(); + int bottom = viewBinding.dialogParentCl.getBottom(); + int right = viewBinding.dialogParentCl.getRight(); + int y = (int) v.getY(); + int x = (int) v.getX(); + if (top < y && y < bottom) { + } else { + dismiss(); + } + if (left < x && x < right) { + + } else { + dismiss(); + } + + } + }); + } + + public void setOnListener(OnClickListener onClickListener) { + this.mOnClickListener = onClickListener; + } + + + public interface OnClickListener { + void onClick(int position, String title); + } +} diff --git a/app/src/main/res/layout/dialog_type_title_list_b.xml b/app/src/main/res/layout/dialog_type_title_list_b.xml new file mode 100644 index 0000000..307ea4d --- /dev/null +++ b/app/src/main/res/layout/dialog_type_title_list_b.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8"?> +<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + android:id="@+id/type_parent_cl" + android:layout_width="match_parent" + android:layout_height="match_parent" + + > + + <androidx.constraintlayout.widget.ConstraintLayout + android:id="@+id/dialog_parent_cl" + android:layout_width="match_parent" + android:layout_height="270dp" + android:layout_marginStart="@dimen/dp_16" + android:layout_marginTop="155dp" + android:layout_marginEnd="@dimen/dp_16" + android:background="@drawable/loading_ffffffff_4" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> + + <androidx.recyclerview.widget.RecyclerView + android:id="@+id/type_list_rl" + android:layout_width="match_parent" + android:layout_height="match_parent" /> + </androidx.constraintlayout.widget.ConstraintLayout> + +</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file -- Gitblit v1.8.0