yangjiewei 4 роки тому
батько
коміт
3335b32a51
2 змінених файлів з 60 додано та 27 видалено
  1. 7 4
      README.md
  2. 53 23
      datelib/src/main/java/com/benyanyi/datelib/SelectPeriod.java

+ 7 - 4
README.md

@@ -13,7 +13,7 @@ repositories {
 ~~~
 ### module 下添加
 ~~~
-implementation 'com.yanyi.benyanyi:DateSelect:1.0.3'
+implementation 'com.yanyi.benyanyi:DateSelect:1.0.4'
 ~~~
 
 或者
@@ -21,16 +21,18 @@ implementation 'com.yanyi.benyanyi:DateSelect:1.0.3'
 <dependency>
   <groupId>com.yanyi.benyanyi</groupId>
   <artifactId>DateSelect</artifactId>
-  <version>1.0.3</version>
+  <version>1.0.4</version>
   <type>aar</type>
 </dependency>
 ~~~
-### 1.0.1版本
+### 1.0.4版本
 #### SelectPeriod添加是否进行时间判断
 ~~~
-SelectPeriod(Context context, SelectType selectType, boolean judgmentTime)
+SelectPeriod(Context context, SelectType selectType)
 SelectData selectData = new SelectData(this,selectType);
 ~~~
+SelectPeriod添加currentTimeLessStartTime(Boolean) 判断当前时间是否小于开始时间
+SelectPeriod添加startTimeLessEndTime(Boolean) 判断开始时间是否小于结束时间
 其余与1.0.0版本一样
 
 #### SelectType 表示需要隐藏的段落
@@ -72,6 +74,7 @@ selectData.setDateClickListener(new SelectData.OnDateClickListener() {
 });
 ~~~
 ## 更新记录
+* 2021-13-14 提交1.0.4版本,添加判断开始时间是否大于当前时间
 * 2021-13-14 提交1.0.3版本 删除开始时间和结束时间不能超过当前时间限制
 * 2020-05-18 提交1.0.2版本,将android support转成androidx支持,并将Maven库存放到个人服务器上
 * 2019-06-12 提交1.0.1版本,优化一些已知细节,变更包名,开源库包名进行统一

+ 53 - 23
datelib/src/main/java/com/benyanyi/datelib/SelectPeriod.java

@@ -27,14 +27,15 @@ import java.util.Locale;
  * @author myLove
  */
 public class SelectPeriod extends PopupWindow implements View.OnClickListener {
-    private String tag = "SelectPeriod";
-    private Context mContext;
-    private SelectType selectType;
-    private boolean boo;
+    private final String tag = "SelectPeriod";
+    private final Context mContext;
+    private final SelectType selectType;
+    private boolean judgmentTime = true;
+    private boolean boo = true;
 
     public static boolean isDebug = true;
 
-    private View mView;
+    private final View mView;
 
     /**
      * 取消按钮
@@ -104,22 +105,14 @@ public class SelectPeriod extends PopupWindow implements View.OnClickListener {
     private OnDateClickListener onDateClickListener;
 
     public SelectPeriod(Context context) {
-        this(context, SelectType.NONE, true);
-    }
-
-    public SelectPeriod(Context context, boolean judgmentTime) {
-        this(context, SelectType.NONE, judgmentTime);
+        this(context, SelectType.NONE);
     }
 
     public SelectPeriod(Context context, SelectType selectType) {
-        this(context, selectType, true);
-    }
-
-    public SelectPeriod(Context context, SelectType selectType, boolean judgmentTime) {
         super(context);
         this.mContext = context;
         this.selectType = selectType;
-        this.boo = judgmentTime;
+        this.judgmentTime = judgmentTime;
         mView = View.inflate(context, R.layout.select_period_pop_layout, null);
         init();
         //设置SelectPicPopupWindow的View
@@ -665,17 +658,37 @@ public class SelectPeriod extends PopupWindow implements View.OnClickListener {
                 String endTimeStr = getEndTimeStr();
                 log(getStringDate());
                 if (boo) {
-                    if (timeComparison(startTimeStr, endTimeStr)) {
-                        log(startTimeStr + "\t" + endTimeStr);
-                        onDateClickListener.onDateClickListener(startTimeStr, endTimeStr);
-                        dismiss();
+                    if (timeComparison(startTimeStr, getStringDate())) {
+                        toast("开始时间需要大于当前时间");
                     } else {
-                        toast("结束时间需要大于开始时间");
+                        if (judgmentTime) {
+                            if (timeComparison(startTimeStr, endTimeStr)) {
+                                log(startTimeStr + "\t" + endTimeStr);
+                                onDateClickListener.onDateClickListener(startTimeStr, endTimeStr);
+                                dismiss();
+                            } else {
+                                toast("结束时间需要大于开始时间");
+                            }
+                        } else {
+                            onDateClickListener.onDateClickListener(startTimeStr, endTimeStr);
+                            dismiss();
+                        }
                     }
                 } else {
-                    onDateClickListener.onDateClickListener(startTimeStr, endTimeStr);
-                    dismiss();
+                    if (judgmentTime) {
+                        if (timeComparison(startTimeStr, endTimeStr)) {
+                            log(startTimeStr + "\t" + endTimeStr);
+                            onDateClickListener.onDateClickListener(startTimeStr, endTimeStr);
+                            dismiss();
+                        } else {
+                            toast("结束时间需要大于开始时间");
+                        }
+                    } else {
+                        onDateClickListener.onDateClickListener(startTimeStr, endTimeStr);
+                        dismiss();
+                    }
                 }
+
             }
         } else if (view == butCancel) {
             log("cancel");
@@ -861,8 +874,25 @@ public class SelectPeriod extends PopupWindow implements View.OnClickListener {
         Toast.makeText(mContext, msg.toString(), Toast.LENGTH_SHORT).show();
     }
 
-    public void setOnDateClickListener(OnDateClickListener onDateClickListener) {
+    /**
+     * 当前时间小于开始时间
+     *
+     * @param b
+     * @return 是否可以当前时间小于开始时间
+     */
+    public SelectPeriod currentTimeLessStartTime(boolean b) {
+        this.boo = b;
+        return this;
+    }
+
+    public SelectPeriod startTimeLessEndTime(boolean judgmentTime) {
+        this.judgmentTime = judgmentTime;
+        return this;
+    }
+
+    public SelectPeriod setOnDateClickListener(OnDateClickListener onDateClickListener) {
         this.onDateClickListener = onDateClickListener;
+        return this;
     }
 
     public interface OnDateClickListener {