2

計算された人の睡眠サイクルの正しい 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)) );


        }
    };

どんな助けでも本当に感謝しています! ありがとう。

4

1 に答える 1

8

コメントの上記の@Simonとの小さな議論を参照してください。設定するCalendar変数はCalendar.HOUR_OF_DAYです。これがあなたが設定し、取得しているものです。その下にあるものが必要です。

于 2012-11-05T17:59:47.393 に答える