TimePickerDialog和AM或PM

我有一个将is24Hour设置为false的TimePickerDialog,因为我想向最终用户展示更熟悉的12小时格式。设置小时,分钟和AM PM指示器并返回时间后,如何确定最终用户选择了AM还是PM?


这就是我给听众的东西:


private TimePickerDialog.OnTimeSetListener mTimeSetListener =

      new TimePickerDialog.OnTimeSetListener() {


    @Override

    public void onTimeSet(TimePicker view, int hourOfDay, 

      int minute) {

     mHour = hourOfDay;

     mMinute = minute;

    // mIsAM = WHERE CAN I GET THIS VALUE

    }

};


梦里花落0921
浏览 503回答 3
3回答

千万里不及你

该hourOfDay永远是24小时。如果您将对话框is24HourView设置为false,则用户无需处理24小时格式的时间,但是Android会在调用时将其转换为24小时格式onTimeSet()。

catspeake

我遇到了同样的问题。我的应用程序中有一个TimePicker,在您选择时间并按一个按钮后,您将进入一个显示选择了什么时间的屏幕。选择的“时间”是正确的,但有时AM / PM值将与选择的相反。我最终通过更改我在TimePicker中为“ hrs”参数存储的内容来修复它。private TimePickerDialog.OnTimeSetListener mTimeSetListener = new TimePickerDialog.OnTimeSetListener() {       @Override    public void onTimeSet(TimePicker view, int hrs, int mins)    {        hour = hrs;        minute = mins;        c = Calendar.getInstance();        c.set(Calendar.HOUR_OF_DAY, hour);        //instead of c.set(Calendar.HOUR, hour);        c.set(Calendar.MINUTE, minute);现在,当我按下按钮进入下一个屏幕时,它会正确显示所选的正确AM / PM值。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android