From 59340c0b9107c813d6b3a5c953d693212485ad11 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期三, 20 八月 2025 13:31:22 +0800
Subject: [PATCH] 2025年08月20日13:31:14
---
app/src/main/java/com/hdl/photovoltaic/widget/DefaultFilteringDialog.java | 322 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 315 insertions(+), 7 deletions(-)
diff --git a/app/src/main/java/com/hdl/photovoltaic/widget/DefaultFilteringDialog.java b/app/src/main/java/com/hdl/photovoltaic/widget/DefaultFilteringDialog.java
index 6f41018..8090819 100644
--- a/app/src/main/java/com/hdl/photovoltaic/widget/DefaultFilteringDialog.java
+++ b/app/src/main/java/com/hdl/photovoltaic/widget/DefaultFilteringDialog.java
@@ -1,14 +1,28 @@
package com.hdl.photovoltaic.widget;
+import android.app.Activity;
import android.content.Context;
+import android.graphics.Color;
import android.os.Bundle;
+import android.text.TextUtils;
+import android.view.Gravity;
import android.view.View;
+import android.view.ViewGroup;
+import android.view.Window;
+import android.widget.TextView;
import androidx.annotation.NonNull;
+import androidx.appcompat.content.res.AppCompatResources;
+import androidx.core.content.ContextCompat;
+import com.hdl.photovoltaic.HDLApp;
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.base.BaseDialog;
import com.hdl.photovoltaic.databinding.DialogDefaultFilteringBinding;
+import com.hdl.photovoltaic.enums.DebugStatus;
+import com.hdl.photovoltaic.enums.GridType;
+import com.hdl.photovoltaic.enums.UnitType;
+import com.hdl.photovoltaic.other.HdlThreadLogic;
public class DefaultFilteringDialog extends BaseDialog {
private final Context mContext;
@@ -16,6 +30,18 @@
DialogDefaultFilteringBinding viewBinding;
OnClickListener mOnClickListener;
+
+ final String text1 = "0-5";
+ final String text2 = "5-10";
+ final String text3 = "10-15";
+ final String text4 = "15-30";
+ final String text5 = "30-100";
+ final String text6 = "100-300";
+ final String text7 = "300-500";
+ final String text8 = "500+";
+
+
+ private String mStateValue = GridType.All;
public DefaultFilteringDialog(@NonNull Context context) {
super(context, R.style.Custom_Dialog);
@@ -27,14 +53,20 @@
super.onCreate(savedInstanceState);
viewBinding = DialogDefaultFilteringBinding.inflate(getLayoutInflater());
setContentView(viewBinding.getRoot());
- //绌虹櫧澶勪笉鑳藉彇娑堝姩鐢�
- setCanceledOnTouchOutside(false);
+ Window window = getWindow();
+ if (window != null) {
+ window.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
+ window.setGravity(Gravity.BOTTOM);
+ }
+// setCanceledOnTouchOutside(false);
//鍒濆鍖栫晫闈㈡帶浠�
initView();
//鍒濆鍖栫晫闈㈡暟鎹�
- initData();
+// initData(mMinValue, mMaxValue, mStateValue);
//鍒濆鍖栫晫闈㈡帶浠剁殑浜嬩欢
initEvent();
+
+
}
private void initEvent() {
@@ -42,12 +74,36 @@
viewBinding.affirmLl.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- if (mOnClickListener != null) {
- mOnClickListener.confirm();
+ String minValue = viewBinding.minEt.getText().toString();
+ String maxValue = viewBinding.maxEt.getText().toString();
+ if (!TextUtils.isEmpty(minValue) && !TextUtils.isEmpty(maxValue)) {
+ try {
+ if (Integer.parseInt(minValue) > Integer.parseInt(maxValue)) {
+ //鏈�灏忓�煎湪鍓嶉潰
+ if (mOnClickListener != null) {
+ mOnClickListener.confirm(maxValue, minValue, mStateValue);
+ }
+ } else {
+ if (mOnClickListener != null) {
+ mOnClickListener.confirm(minValue, maxValue, mStateValue);
+ }
+ }
+ } catch (Exception e) {
+ //寮哄埗杞崲鍥犺緭鍏ュ�艰秴鍑篿nt鍊煎煙鑼冨洿鎶ュ嚭寮傚父
+ int maxValueInt = Integer.MAX_VALUE;
+ HdlThreadLogic.toast(mContext, mContext.getString(R.string.the_input_value_has_been_exceeded) + "(" + maxValueInt + ").");
+ return;
+ }
+
+ } else {
+ if (mOnClickListener != null) {
+ mOnClickListener.confirm(minValue, maxValue, mStateValue);
+ }
}
dismiss();
}
});
+
viewBinding.cancelLl.setOnClickListener(new View.OnClickListener() {
@Override
@@ -55,12 +111,256 @@
dismiss();
}
});
+
+ viewBinding.resetRl.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ setBackgroundColor(null, TitleType.string_capacity);
+ setSelectedText("");
+ setBackgroundColor(viewBinding.allTv, TitleType.debuggingState);
+ mStateValue = DebugStatus.All;
+ }
+ });
+ viewBinding.text1Tv.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ setBackgroundColor(viewBinding.text1Tv, TitleType.string_capacity);
+ setSelectedText(viewBinding.text1Tv.getTag().toString());
+ }
+ });
+ viewBinding.text2Tv.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ setBackgroundColor(viewBinding.text2Tv, TitleType.string_capacity);
+ setSelectedText(viewBinding.text2Tv.getTag().toString());
+ }
+ });
+ viewBinding.text3Tv.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ setBackgroundColor(viewBinding.text3Tv, TitleType.string_capacity);
+ setSelectedText(viewBinding.text3Tv.getTag().toString());
+ }
+ });
+ viewBinding.text4Tv.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ setBackgroundColor(viewBinding.text4Tv, TitleType.string_capacity);
+ setSelectedText(viewBinding.text4Tv.getTag().toString());
+ }
+ });
+
+ viewBinding.text5Tv.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ setBackgroundColor(viewBinding.text5Tv, TitleType.string_capacity);
+ setSelectedText(viewBinding.text5Tv.getTag().toString());
+ }
+ });
+ viewBinding.text6Tv.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ setBackgroundColor(viewBinding.text6Tv, TitleType.string_capacity);
+ setSelectedText(viewBinding.text6Tv.getTag().toString());
+ }
+ });
+ viewBinding.text7Tv.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ setBackgroundColor(viewBinding.text7Tv, TitleType.string_capacity);
+ setSelectedText(viewBinding.text7Tv.getTag().toString());
+ }
+ });
+ viewBinding.text8Tv.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ setBackgroundColor(viewBinding.text8Tv, TitleType.string_capacity);
+ setSelectedText(viewBinding.text8Tv.getTag().toString());
+ }
+ });
+ //鍏ㄩ儴
+ viewBinding.allTv.setOnClickListener(new View.OnClickListener() {
+
+ @Override
+ public void onClick(View v) {
+ setBackgroundColor(viewBinding.allTv, TitleType.debuggingState);
+ mStateValue = DebugStatus.All;
+ }
+ });
+ //璋冭瘯涓�
+ viewBinding.beDebuggingTv.setOnClickListener(new View.OnClickListener() {
+
+ @Override
+ public void onClick(View v) {
+ setBackgroundColor(viewBinding.beDebuggingTv, TitleType.debuggingState);
+ mStateValue = DebugStatus.Debugging;
+ }
+ });
+ //璋冭瘯瀹屾垚
+ viewBinding.debuggingcOmpletedTv.setOnClickListener(new View.OnClickListener() {
+
+ @Override
+ public void onClick(View v) {
+ setBackgroundColor(viewBinding.debuggingcOmpletedTv, TitleType.debuggingState);
+ mStateValue = DebugStatus.WAIT_DELIVERED;
+ }
+ });
+ //宸蹭氦浠�
+ viewBinding.deliveredTv.setOnClickListener(new View.OnClickListener() {
+
+ @Override
+ public void onClick(View v) {
+ setBackgroundColor(viewBinding.deliveredTv, TitleType.debuggingState);
+ mStateValue = DebugStatus.Delivered;
+ }
+ });
+ //鎺堟潈璋冭瘯
+ viewBinding.authorizationDebuggingTv.setOnClickListener(new View.OnClickListener() {
+
+ @Override
+ public void onClick(View v) {
+ setBackgroundColor(viewBinding.authorizationDebuggingTv, TitleType.debuggingState);
+ mStateValue = DebugStatus.SECONDARY_DEBUGGIN;
+ }
+ });
+
}
- private void initData() {
+ /**
+ * @param value 閫変腑鐨勫��
+ */
+ private void setSelectedText(String value) {
+
+ String minValue = "", maxValue = "";
+ if (TextUtils.isEmpty(value)) {
+ minValue = "";
+ maxValue = "";
+ } else if (value.contains("+")) {
+ minValue = "500";
+ maxValue = "";
+ } else if (value.contains("-")) {
+ String[] min_max = value.split("-");
+ if (min_max.length == 2) {
+ minValue = min_max[0];
+ maxValue = min_max[1];
+ }
+ }
+
+ viewBinding.minEt.setText(minValue);
+ viewBinding.maxEt.setText(maxValue);
+
+ }
+
+ /**
+ * 鏀瑰彉缁勪欢鑳屾櫙锛屽瓧浣撻鑹叉牸寮�
+ *
+ * @param textView 缁勪欢鍙互锛堣缃负null,娌℃湁閫変腑鐘舵��)
+ * @param titleType 淇敼绫诲瀷
+ */
+ private void setBackgroundColor(TextView textView, TitleType titleType) {
+ if (titleType == TitleType.string_capacity) {
+ viewBinding.text1Tv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.config_129));
+ viewBinding.text2Tv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.config_129));
+ viewBinding.text3Tv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.config_129));
+ viewBinding.text4Tv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.config_129));
+ viewBinding.text5Tv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.config_129));
+ viewBinding.text6Tv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.config_129));
+ viewBinding.text7Tv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.config_129));
+ viewBinding.text8Tv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.config_129));
+ } else {
+ viewBinding.allTv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.config_129));
+ viewBinding.beDebuggingTv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.config_129));
+ viewBinding.debuggingcOmpletedTv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.config_129));
+ viewBinding.deliveredTv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.config_129));
+ viewBinding.authorizationDebuggingTv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.config_129));
+ }
+ if (textView != null) {
+ textView.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.config_yes_129));
+ }
+
+ }
+
+ public void initState(String min, String max, String stateValue) {
+ try {
+ mStateValue = stateValue;
+ viewBinding.minEt.setText(min);
+ viewBinding.maxEt.setText(max);
+
+ if (!TextUtils.isEmpty(min) || !TextUtils.isEmpty(max)) {
+ String str = min + "-" + max;
+ switch (str) {
+ case text1:
+ setBackgroundColor(viewBinding.text1Tv, TitleType.string_capacity);
+ break;
+ case text2:
+ setBackgroundColor(viewBinding.text2Tv, TitleType.string_capacity);
+ break;
+ case text3:
+ setBackgroundColor(viewBinding.text3Tv, TitleType.string_capacity);
+ break;
+ case text4:
+ setBackgroundColor(viewBinding.text4Tv, TitleType.string_capacity);
+ break;
+ case text5:
+ setBackgroundColor(viewBinding.text5Tv, TitleType.string_capacity);
+ break;
+ case text6:
+ setBackgroundColor(viewBinding.text6Tv, TitleType.string_capacity);
+ break;
+ case text7:
+ setBackgroundColor(viewBinding.text7Tv, TitleType.string_capacity);
+ break;
+ case text8:
+ setBackgroundColor(viewBinding.text8Tv, TitleType.string_capacity);
+ break;
+ }
+ }
+ switch (stateValue) {
+ case DebugStatus.All:
+ setBackgroundColor(viewBinding.allTv, TitleType.debuggingState);
+ break;
+ case DebugStatus.Debugging:
+ setBackgroundColor(viewBinding.beDebuggingTv, TitleType.debuggingState);
+ break;
+ case DebugStatus.WAIT_DELIVERED:
+ setBackgroundColor(viewBinding.debuggingcOmpletedTv, TitleType.debuggingState);
+ break;
+ case DebugStatus.Delivered:
+ setBackgroundColor(viewBinding.deliveredTv, TitleType.debuggingState);
+ break;
+ case DebugStatus.SECONDARY_DEBUGGIN:
+ setBackgroundColor(viewBinding.authorizationDebuggingTv, TitleType.debuggingState);
+ break;
+ default: {
+ setBackgroundColor(viewBinding.allTv, TitleType.debuggingState);
+ break;
+ }
+ }
+ } catch (Exception ignored) {
+ }
+
}
private void initView() {
+
+ String s = mContext.getString(R.string.string_capacity) + "(" + UnitType.kWp + ")";
+ viewBinding.capacityTv.setText(s);
+ viewBinding.text1Tv.setTag(text1);
+ viewBinding.text2Tv.setTag(text2);
+ viewBinding.text3Tv.setTag(text3);
+ viewBinding.text4Tv.setTag(text4);
+ viewBinding.text5Tv.setTag(text5);
+ viewBinding.text6Tv.setTag(text6);
+ viewBinding.text7Tv.setTag(text7);
+ viewBinding.text8Tv.setTag(text8);
+
+ viewBinding.allTv.setTag(DebugStatus.All);
+ viewBinding.beDebuggingTv.setTag(DebugStatus.Debugging);
+ viewBinding.debuggingcOmpletedTv.setTag(DebugStatus.WAIT_DELIVERED);
+ viewBinding.deliveredTv.setTag(DebugStatus.Delivered);
+ viewBinding.authorizationDebuggingTv.setTag(DebugStatus.SECONDARY_DEBUGGIN);
+ setBackgroundColor(null, TitleType.string_capacity);
+ setBackgroundColor(viewBinding.allTv, TitleType.debuggingState);
}
public void setOnClickListener(OnClickListener onClickListener) {
@@ -71,6 +371,14 @@
public interface OnClickListener {
- void confirm();
+ void confirm(String min, String max, String state);
}
+
+ public enum TitleType {
+ string_capacity,//缁勪覆瀹归噺
+ debuggingState//璋冭瘯鐘舵��
+
+ }
+
+
}
--
Gitblit v1.8.0