@@ -53,16 +53,11 @@ public class DatePicker extends WheelPicker {
5353 * 安卓开发应避免使用枚举类(enum),因为相比于静态常量enum会花费两倍以上的内存。
5454 * http://developer.android.com/training/articles/memory.html#Overhead
5555 */
56- @ IntDef (flag = false , value = {YEAR_MONTH_DAY , YEAR_MONTH , MONTH_DAY })
56+ @ IntDef (value = {YEAR_MONTH_DAY , YEAR_MONTH , MONTH_DAY })
5757 @ Retention (RetentionPolicy .SOURCE )
5858 public @interface Mode {
5959 }
6060
61- /**
62- * Instantiates a new Date picker.
63- *
64- * @param activity the activity
65- */
6661 public DatePicker (Activity activity ) {
6762 this (activity , YEAR_MONTH_DAY );
6863 }
@@ -326,7 +321,9 @@ public void onSelected(boolean isUserScroll, int selectedIndex, String item) {
326321
327322 private void changeYearData () {
328323 years .clear ();
329- if (startYear < endYear ) {
324+ if (startYear == endYear ) {
325+ years .add (String .valueOf (startYear ));
326+ } else if (startYear < endYear ) {
330327 //年份正序
331328 for (int i = startYear ; i <= endYear ; i ++) {
332329 years .add (String .valueOf (i ));
@@ -342,7 +339,11 @@ private void changeYearData() {
342339 private int changeMonthData (int year ) {
343340 String preSelectMonth = months .size () > selectedMonthIndex ? months .get (selectedMonthIndex ) : null ;
344341 months .clear ();
345- if (year == startYear ) {
342+ if (startYear == endYear ) {
343+ for (int i = startMonth ; i <= endMonth ; i ++) {
344+ months .add (DateUtils .fillZero (i ));
345+ }
346+ } else if (year == startYear ) {
346347 for (int i = startMonth ; i <= 12 ; i ++) {
347348 months .add (DateUtils .fillZero (i ));
348349 }
0 commit comments