我在我的代码中使用时间选择器和日期选择器。我正在使用setFormatter方法设置日期选择器的格式它工作正常但在设置时间选择器的格式时,它没有采用给定的格式,并且在运行我的代码时显示非法参数异常。在点击后打开时间时显示24小时格式设置它显示12小时格式。但我需要在打开时间选择器对话框时才显示12小时格式。我的代码中出现了问题。
这是我的代码,
SimpleDateFormat dateFormatter = new SimpleDateFormat("MM/dd/yyyy");
datePicker = new Picker();
datePicker.setType(Display.PICKER_TYPE_DATE);
datePicker.setFormatter(dateFormatter);
SimpleDateFormat timeFormatter = new SimpleDateFormat("h:mm a");
timePicker = new Picker();
timePicker.setType(Display.PICKER_TYPE_TIME);
timePicker.setShowMeridiem(Boolean.TRUE);
timePicker.setFormatter(timeFormatter);
Container c = new Container(new BoxLayout(BoxLayout.X_AXIS));
c.add(datePicker);
c.add(timePicker);
dialogtimeForm.add(c);
请找到下图
提前致谢。
答案 0 :(得分:0)
时间选择器不能与Date
对象一起使用,它使用一个表示午夜时间的整数,因为Date
在表示抽象时区不敏感时间概念方面非常糟糕。
因此,对于所有不是日期或日期和类型的类型,格式化程序都会被忽略。时间(与日期不同)。
您可以通过覆盖updateValue
课程中的Picker
来完成您想要的任何自定义格式设置。使用格式化值调用setText(String)
。