Skip to content

Commit 818686a

Browse files
author
杨宏伟
committed
Merge remote-tracking branch 'origin/master'
# Conflicts: # pickerview/src/main/java/com/bigkoo/pickerview/view/TimePickerView.java # pickerview/src/main/java/com/bigkoo/pickerview/view/WheelTime.java
2 parents 22de447 + cca2cac commit 818686a

File tree

3 files changed

+31
-12
lines changed

3 files changed

+31
-12
lines changed

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11

22
## Android-PickerView
33

4+
起始时间和终止时间,都已支持控制到时分秒
5+
46
解决原库时间范围不控制时分秒的问题
57
原库地址:https://github.com/Bigkoo/Android-PickerView
68

@@ -14,6 +16,6 @@ allprojects {
1416
}
1517

1618
dependencies {
17-
implementation 'com.github.LuckyCodeer.Android-PickerView:pickerview:4.2.3'
19+
implementation 'com.github.LuckyCodeer.Android-PickerView:pickerview:4.2.5'
1820
}
1921
```

pickerview/src/main/java/com/bigkoo/pickerview/view/TimePickerView.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,8 +195,10 @@ private void initDefaultSelectedDate() {
195195
private void setTime() {
196196
int year, month, day, hours, minute, seconds;
197197
Calendar calendar = Calendar.getInstance();
198-
Log.i("TAG", "===> " + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calendar.getTime()));
199198
boolean isInRange = true;
199+
if (mPickerOptions.date != null) {
200+
calendar.setTime(mPickerOptions.date.getTime());
201+
}
200202
if (mPickerOptions.startDate != null && mPickerOptions.endDate != null) {
201203
if (calendar.getTimeInMillis() < mPickerOptions.startDate.getTimeInMillis()
202204
|| calendar.getTimeInMillis() > mPickerOptions.endDate.getTimeInMillis()) {
@@ -214,6 +216,7 @@ private void setTime() {
214216
calendar = mPickerOptions.endDate;
215217
}
216218
}
219+
217220
if (!isInRange) {
218221
year = calendar.get(Calendar.YEAR);
219222
month = calendar.get(Calendar.MONTH);

pickerview/src/main/java/com/bigkoo/pickerview/view/WheelTime.java

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -401,7 +401,7 @@ private void setSolar(int year, final int month, int day, int h, int m, int s) {
401401
}
402402
wv_hours.setAdapter(new NumericWheelAdapter(tempStartHour, tempEndHour));
403403

404-
wv_hours.setCurrentItem(h);
404+
wv_hours.setCurrentItem(h - tempStartHour);
405405
wv_hours.setGravity(gravity);
406406
//分
407407
wv_minutes = (WheelView) view.findViewById(R.id.min);
@@ -419,7 +419,7 @@ private void setSolar(int year, final int month, int day, int h, int m, int s) {
419419
}
420420
wv_minutes.setAdapter(new NumericWheelAdapter(tempStartMinute, tempEndMinute));
421421

422-
wv_minutes.setCurrentItem(m);
422+
wv_minutes.setCurrentItem(m - tempStartMinute);
423423
wv_minutes.setGravity(gravity);
424424
//秒
425425
wv_seconds = (WheelView) view.findViewById(R.id.second);
@@ -437,7 +437,7 @@ private void setSolar(int year, final int month, int day, int h, int m, int s) {
437437
}
438438
wv_seconds.setAdapter(new NumericWheelAdapter(tempStartSecond, tempEndSecond));
439439

440-
wv_seconds.setCurrentItem(s);
440+
wv_seconds.setCurrentItem(s - tempStartSecond);
441441
wv_seconds.setGravity(gravity);
442442

443443
// 添加"年"监听
@@ -824,17 +824,31 @@ public String getTime() {
824824
//如果是农历 返回对应的公历时间
825825
return getLunarTime();
826826
}
827+
Integer year = (Integer) wv_year.getAdapter().getItem(wv_year.getCurrentItem());
828+
Integer month = (Integer) wv_month.getAdapter().getItem(wv_month.getCurrentItem());
829+
Integer day = (Integer) wv_day.getAdapter().getItem(wv_day.getCurrentItem());
830+
Integer hour = (Integer) wv_hours.getAdapter().getItem(wv_hours.getCurrentItem());
831+
Integer minute = (Integer) wv_minutes.getAdapter().getItem(wv_minutes.getCurrentItem());
832+
Integer seconds = (Integer) wv_seconds.getAdapter().getItem(wv_seconds.getCurrentItem());
833+
827834
StringBuilder sb = new StringBuilder();
828-
if (currentYear == startYear) {
829-
/* int i = wv_month.getCurrentItem() + startMonth;
830-
System.out.println("i:" + i);*/
835+
sb.append(year).append("-")
836+
.append(month).append("-")
837+
.append(day).append(" ")
838+
.append(hour).append(":")
839+
.append(minute).append(":")
840+
.append(seconds);
841+
Log.i("TAG", "===>getTime "+sb);
842+
/* if (currentYear == startYear) {
843+
*//* int i = wv_month.getCurrentItem() + startMonth;
844+
System.out.println("i:" + i);*//*
831845
if ((wv_month.getCurrentItem() + startMonth) == startMonth) {
832846
sb.append((wv_year.getCurrentItem() + startYear)).append("-")
833847
.append((wv_month.getCurrentItem() + startMonth)).append("-")
834848
.append((wv_day.getCurrentItem() + startDay)).append(" ")
835-
.append(wv_hours.getCurrentItem() + startHour).append(":")
836-
.append(wv_minutes.getCurrentItem() + startMinute).append(":")
837-
.append(wv_seconds.getCurrentItem() + startSecond);
849+
.append(wv_hours.getItemsCount() != 24 ? wv_hours.getCurrentItem() + startHour : wv_hours.getCurrentItem()).append(":")
850+
.append(wv_minutes.getItemsCount() != 60 ? wv_minutes.getCurrentItem() + startMinute : wv_minutes.getCurrentItem()).append(":")
851+
.append(wv_seconds.getItemsCount() != 60 ? wv_seconds.getCurrentItem() + startSecond : wv_seconds.getCurrentItem());
838852
} else {
839853
sb.append((wv_year.getCurrentItem() + startYear)).append("-")
840854
.append((wv_month.getCurrentItem() + startMonth)).append("-")
@@ -851,7 +865,7 @@ public String getTime() {
851865
.append(wv_hours.getCurrentItem()).append(":")
852866
.append(wv_minutes.getCurrentItem()).append(":")
853867
.append(wv_seconds.getCurrentItem());
854-
}
868+
}*/
855869

856870
return sb.toString();
857871
}

0 commit comments

Comments
 (0)