2017-08-24 56 views
-1

我有一個正在開發一種timepicker罰款。但它是24小時制。我希望它是12小時格式。我找不到可能的解決方案。我目前的代碼片段是:12小時格式timepicker安卓

Calendar mcurrentTime = Calendar.getInstance(); 
      final int hour = mcurrentTime.get(Calendar.HOUR_OF_DAY); 
      int minute = mcurrentTime.get(Calendar.MINUTE); 
      TimePickerDialog mTimePicker; 
      mTimePicker = new TimePickerDialog(AddJob.this, new TimePickerDialog.OnTimeSetListener() { 
       @Override 
       public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) { 
        //// 
       } 
      }, hour, minute, true); 
      mTimePicker.setTitle("Select Time"); 
      mTimePicker.show(); 

在此先感謝。

編輯: 我能夠日期選擇後檢查經絡。但我希望用戶選擇子午線。

更新:一個Android的問題怎麼能重複一個javascript問題?有人對此表示反對。

回答

2

更改TimePickerDialog電話:

你的代碼是:

mTimePicker = new TimePickerDialog(AddJob.this, 
      new TimePickerDialog.OnTimeSetListener() { 
       @Override 
       public void onTimeSet(TimePicker timePicker, 
         int selectedHour, int selectedMinute) { 
        //// 
       } 
      }, hour, minute, true); 

從改變你的最後一個參數真正

因爲TimePickerDialog構造函數的語法是:

TimePickerDialog(Context context, 
     TimePickerDialog.OnTimeSetListener listener, 
     int hourOfDay, 
     int minute, 
     boolean is24HourView) 

注意:最後一個參數是布爾is24HourView 所以將其更改爲假,您的問題將得到解決

欲瞭解更多詳細信息,查看TimePickerDialog Documentation

希望它可以幫助!

+0

非常感謝.. :) – NameNotFound

0
private TimePickerDialog.OnTimeSetListener mTimeSetListener = 
new TimePickerDialog.OnTimeSetListener() { 

    @Override 
    public void onTimeSet(TimePicker view, int hourOfDay, int minute) { 
     // TODO Auto-generated method stub 
     hour = hourOfDay; 
     minutes = minute; 
     String timeSet = ""; 
     if (hour > 12) { 
      hour -= 12; 
      timeSet = "PM"; 
     } else if (hour == 0) { 
      hour += 12; 
      timeSet = "AM"; 
     } else if (hour == 12){ 
      timeSet = "PM"; 
     }else{ 
      timeSet = "AM"; 
     } 

     String min = ""; 
     if (minutes < 10) 
     min = "0" + minutes ; 
     else 
     min = String.valueOf(minutes); 

     String mTime = new StringBuilder().append(hour).append(':') 
     .append(min).append(" ").append(timeSet).toString(); 

    } 
}; 
+0

我想timepicker顯示經絡。 – NameNotFound

0

你不得不這樣做下面試試這個。

private TimePickerDialog.OnTimeSetListener mTimeSetListener = 
new TimePickerDialog.OnTimeSetListener() { 

    @Override 
    public void onTimeSet(TimePicker view, int hourOfDay, int minute) { 
     // TODO Auto-generated method stub 
     hour = hourOfDay; 
     minutes = minute; 
     String timeSet = ""; 
     if (hour > 12) { 
      hour -= 12; 
      timeSet = "PM"; 
     } else if (hour == 0) { 
      hour += 12; 
      timeSet = "AM"; 
     } else if (hour == 12){ 
      timeSet = "PM"; 
     }else{ 
      timeSet = "AM"; 
     } 

     String min = ""; 
     if (minutes < 10) 
     min = "0" + minutes ; 
     else 
     min = String.valueOf(minutes); 

     String aTime = new StringBuilder().append(hour).append(':') 
     .append(min).append(" ").append(timeSet).toString(); 
     et1.setText(aTime); 
    } 
};