显示AM和PM在从的EditText TimePickerDialog [英] Display AM and PM in the EditText from TimePickerDialog

查看:154
本文介绍了显示AM和PM在从的EditText TimePickerDialog的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

晕,我怎么能做出的EditText timePickerDialog显示屏,上午和下午?
timePickerDialog集后,有24小时格式。例如,七时四十五分,在EditText上会得到19.45仅此而已。我想这是下午7.45在EditText上。有人可以帮忙吗?

下面是我的编码...

 私人TimePickerDialog.OnTimeSetListener timePickerListener =新TimePickerDialog.OnTimeSetListener(){
    公共无效onTimeSet(TimePicker观点,诠释selectedHour,
            INT selectedMinute){
        小时= selectedHour;
        分钟= selectedMinute;
        串区=;        如果(Calendar.AM_PM == Calendar.AM)
            区=AM;        否则,如果(Calendar.AM_PM == Calendar.PM)
            区=PM;        //将当前时间到的TextView
        timeField.setText(。新的StringBuilder()追加(垫(小时))附加(:)追加(垫(分钟))附加().append(区)。);    }};私有静态字符串垫(INT C){
    如果(c取代; = 10)
       返回将String.valueOf(C);
    其他
       返回0+将String.valueOf(C);
}


解决方案

  

例如,七时四十五分,在EditText上会得到19.45仅此而已。我想这是下午7.45在EditText上。


简单的答案是,以检查是否 selectHour 大于12:

 如果(selectedHour> 12){
    selectedHour - = 12;
    区=PM;
}
其他
    区=AM;

您也可以使用内置的时间对象,如日历和的SimpleDateFormat显示任何你想要的格式。

Halo, how can I make timePickerDialog display on EditText with AM and PM? after timePickerDialog set, there is 24hour format. For example, 7.45pm, the EditText will get 19.45 that's all. I want it to be 7.45 pm in the EditText. Somebody can help?

Here is my coding...

private TimePickerDialog.OnTimeSetListener timePickerListener = new TimePickerDialog.OnTimeSetListener() {
    public void onTimeSet(TimePicker view, int selectedHour,
            int selectedMinute) {
        hour = selectedHour;
        minute = selectedMinute;
        String zone = "";

        if (Calendar.AM_PM == Calendar.AM)              
            zone = "AM";

        else if (Calendar.AM_PM == Calendar.PM)         
            zone = "PM";

        // set current time into textview
        timeField.setText(new StringBuilder().append(pad(hour)).append(":").append(pad(minute)).append(" ").append(zone));

    }

};

private static String pad(int c) {
    if (c >= 10)
       return String.valueOf(c);
    else
       return "0" + String.valueOf(c);
}

解决方案

For example, 7.45pm, the EditText will get 19.45 that's all. I want it to be 7.45 pm in the EditText.

The simple answer is to check if selectHour is greater than 12:

if(selectedHour > 12) {
    selectedHour -= 12;
    zone = "PM";
}
else 
    zone = "AM";

You could also use built-in time objects, like Calendar, and SimpleDateFormat to display whatever format you want.

这篇关于显示AM和PM在从的EditText TimePickerDialog的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆