計算された人の睡眠サイクルの正しい AM/PM を表示する際に問題があります。たとえば、ユーザーが午前 7 時に起床時刻をクリックすると、アプリは午後 11 時 15 分に就寝時刻を返す必要があります。私のアプリでは、午後ではなく午前 11 時 15 分と表示されています。
私がこれまでに試したことを手伝ってもらえますか:
private TimePickerDialog.OnTimeSetListener timePickerListener =
new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet( TimePicker view, int selectedHour,
int selectedMinute ) {
// Gets current time
Calendar c = Calendar.getInstance();
hour = selectedHour;
minute = selectedMinute;
// set waking time into textview
StringBuilder sb = new StringBuilder();
if(hour>=12){
sb.append(hour-12).append( ":" ).append(minute).append(" PM");
}else{
sb.append(hour).append( ":" ).append(minute).append(" AM");
}
wakingtime.setText(sb);
// Assign hour set in the picker
c.set( Calendar.HOUR, selectedHour );
c.set( Calendar.MINUTE, selectedMinute );
// Have Calendar calculate the substraction of hours and minutes
c.add( Calendar.HOUR, SUB_HOUR );
c.add( Calendar.MINUTE, SUB_MINUTE );
// Get the hour and the minute calculated
hour = c.get( Calendar.HOUR );
minute = c.get( Calendar.MINUTE );
StringBuilder sb2 = new StringBuilder();
if(hour>=12){
sb2.append(hour-12).append( ":" ).append(minute).append(" PM");
}else{
sb2.append(hour).append( ":" ).append(minute).append(" AM");
}
answer.setText(sb2);
// set current time into textview
//answer.setText( "You must go to bed at " + new StringBuilder().append(pad(hour))
// .append(":").append(pad(minute)) );
}
};
どんな助けでも本当に感謝しています! ありがとう。