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系统开发—对View的clipChildren,clipToPadding,importan
  2. Android(安卓)SDK Manager 更新方法
  3. Android(安卓)4.0 横竖屏切换注意事项
  4. Android:Debug certificate expired on DATE 解决方法
  5. android 实现时钟的简单方法
  6. android中GridView关于间距的属性值介绍
  7. Android(安卓)主动获取电量的方法
  8. 浅谈Java中Collections.sort对List排序的两种方法
  9. Python list sort方法的具体使用

随机推荐

  1. Android获得所有存储设备位置最佳方式
  2. BAT等公司Android面试题集锦
  3. Android 文档查看: word、excel、ppt、pdf
  4. 【Android】防止UI界面被输入法遮挡(画面
  5. Android之Activity生命周期浅析
  6. Android 自定义View(Canvas和Path)绘制基
  7. Android 发送系统广播ACTION_MEDIA_SCANN
  8. android 测试项目出现 Test run failed:
  9. Android与服务端数据交互 Apache Tomcat
  10. Timers4Me