我的日历有问题...
当我在01到09之间选择一个小时时,在我的字段中,它写为“ 0”的小时,就像我选择“ 05”时,写成“ 5”的分钟一样。

因此,如果我选择“ 08:05”这样的日期,它将被写为“ 8:5”,而我想输入“ 08:05”。

这是我的日历监听器:

public void addListenerOnTimePicker(final TextView edit_text) {

    // Récupération de l'heure courante
    final Calendar date=Calendar.getInstance();

    // Création d'un listener pour dialogue time
    TimePickerDialog.OnTimeSetListener listenerTime=new TimePickerDialog.OnTimeSetListener() {

        @Override
        public void onTimeSet(TimePicker view, int heure, int minute) {
            date.set(Calendar.HOUR_OF_DAY, heure);
            date.set(Calendar.MINUTE, minute);
            // nouvelle heure dans le texteview
            edit_text.setText(Integer.toString(heure)+":"+ Integer.toString(minute));
        }
    };

    final TimePickerDialog timePicker=new TimePickerDialog(this, listenerTime,
            date.get(Calendar.HOUR_OF_DAY),
            date.get(Calendar.MINUTE),true );

    edit_text.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            timePicker.show();
        }
    });
}

最佳答案

使用format()方法用%02d格式化小时和分钟字符串。

String hourString = String.format("%02d", heure);
String minuteString = String.format("%02d", minute)

edit_text.setText(hourString +":"+ minuteString);

关于java - HOUR/MINUTE的日历Android值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23467791/

10-10 10:02