Android的DatePickerDialog中只显示年月、月日……

这时需要自定义一个类,并继承DatePickerDialog,在自定义类的构造器中调用下面方法

privatevoidsetFieldVisibleOrNot(DatePickerdatePicker,booleandayVisible,booleanmonthVisible,booleanyearVisible){Field[]dpFields=datePicker.getClass().getDeclaredFields();if(dayVisible==false||monthVisible==false||yearVisible==false){for(Fieldfield:dpFields){if((dayVisible==false&&"mDaySpinner".equals(field.getName()))||(monthVisible==false&&"mMonthSpinner".equals(field.getName()))||(yearVisible==false&&"mYearSpinner".equals(field.getName()))){field.setAccessible(true);Objectpicker=newObject();try{picker=field.get(datePicker);}catch(IllegalAccessExceptione){e.printStackTrace();}((View)picker).setVisibility(View.GONE);}}}}

方法中dayVisible、monthVisible、yearVisible,用于控制日期控件中的日、月、年是否显示,false为不显示,默认应该都设为true,在创建我们自定义日期控件类时,就应该将dayVisible、monthVisible、yearVisible传递进去,并且只能同构构造方法传递,不能用定义一个方法给dayVisible、monthVisible、yearVisible设置的方式,这样是没有效果的,因为当我们调用自定义的方法给dayVisible、monthVisible、yearVisible赋值时,说明日期控件已经创建好了,再去设置时当然是没效果的。



更多相关文章

  1. Android SDK Manager 更新方法
  2. android 实现时钟的简单方法
  3. Android 下拉刷新控件的使用
  4. Android Studio SVN 使用方法
  5. Android Virtual Device Manager 创建虚拟机出现SDK Manager NUL
  6. Android中Activity共享变量的另一方法:Application context

随机推荐

  1. android-apktool - A tool for reverse e
  2. Eclipse / Android : “Errors running b
  3. 无标题文浅入浅出 Android(安卓)安全 (三)
  4. androdi ImageView.ScaleType
  5. Android Dialog无法去除遮罩
  6. Android 第一次启动时预安装apk
  7. Android横竖屏限制切换
  8. Android取消EditText自动获取焦点默认行
  9. Android设置View的点击次数的工具类
  10. 一网打尽Android-UI系列教程