sra*_*ara 5 android datepicker custom-datetimepicker android-5.0-lollipop
我希望日期选择器只显示月份和年份.我已经定制了日期选择器,即从选择器中删除"day"字段,但在Android Lollipop Am中获取日,月和年的选择器.以下是我的一段代码.请帮我知道这个问题.提前致谢.
try {
Field f[] = mDatePicker.getClass().getDeclaredFields();
for (Field field : f) {
if (field.getName().equals("mDaySpinner") || field.getName().equals("mDayPicker")) {
field.setAccessible(true);
Object dayPicker = new Object();
dayPicker = field.get(mDatePicker);
((View) dayPicker).setVisibility(View.GONE);
}
}
} catch (SecurityException e) {
} catch (IllegalArgumentException e) {
} catch (IllegalAccessException e) {
}
Run Code Online (Sandbox Code Playgroud)
小智 10
使用反射来查找和隐藏UI元素并不是一个很好的实践.在你的情况下,它停止在棒棒糖中工作,因为mDaySpinner它现在包含在DatePickerSpinngerDelegate类中的内部私有静态类中DatePicker.
我建议通过视图层次结构来查找和隐藏日期微调器元素.我编写了以下在棒棒糖中运行的代码:
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
int daySpinnerId = Resources.getSystem().getIdentifier("day", "id", "android");
if (daySpinnerId != 0) {
View daySpinner = datePicker.findViewById(daySpinnerId);
if (daySpinner != null) {
daySpinner.setVisibility(View.GONE);
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8756 次 |
| 最近记录: |