2016-10-24 2 views
2

Я пробовал его с буфером строк, но это невозможно, я на самом деле печатаю дату из диалога выбора даты. Минимальное значение показывает только 0, например, 1: 0 вечера вместо 13:00.Как печатать нулевое значение как форму из двух нулей

customTimePickerDialogsEnd = new CustomTimePickerDialog(getActivity(), 
    new TimePickerDialog.OnTimeSetListener() { 
     @Override 
     public void onTimeSet(TimePicker view, int hourOfDay, int minute) { 
      StringBuffer s = new StringBuffer(minute); 
      if (minute == 0) { 
      s.append(0); 
      tvEndTime.setText(" " + hourOfDay + ":" + s); 
      System.out.println("minute = " + minute); 
      } else { 
      System.out.println("minute = " + minute); 
      tvEndTime.setText(" " + hourOfDay + ":" + minute); 
      } 
     } 
    }, mHour, mMinute, true); 

спасибо.

+0

Ваш '' if' и else' заявления выглядят странно. (Часы и минуты поменять местами, я полагаю) –

ответ

3

Вы можете использовать System.out.printf

например

System.out.printf("minute = %02d \n" + minute); 

Или System.out.format (эквивалент)

См https://docs.oracle.com/javase/tutorial/java/data/numberformat.html

или если вы просто хотите сохранить вывод как String то есть также

String str = String.format ("minute = %02d \n" + minute); 
0

Thanx страшно, я делал это по-другому, это очень просто. customTimePickerDialogStart = новый CustomTimePickerDialog (getActivity(), новый TimePickerDialog.OnTimeSetListener() {

 @Override 
     public void onTimeSet(TimePicker view, int hourOfDay, int minute) { 
      if (minute == 0) { 
       String mins = "00"; 
       tvStartTime.setText(" " + hourOfDay + ":" + mins); 
      } else { 
       tvStartTime.setText(" " + hourOfDay + ":" + minute); 
      } 
     } 
    }, mHour, mMinute, true); 

 Смежные вопросы

  • Нет связанных вопросов^_^