0

Android用のカスタムアプリケーションを構築しています。datepicker時間を選ぶと時間がかかるダイアログを実装しました。問題は、タイムピッカーが選択したものを正しくフォーマットしないことです(たとえば、03が選択されている場合は、をdatepicker返します3)。

この問題を修正するために、私はこのコードを実装しました:

    TimePickerDialog.OnTimeSetListener timePickerListener = 
            new TimePickerDialog.OnTimeSetListener() {
        public void onTimeSet(TimePicker view, int selectedHour,
                int selectedMinute) {

            hour = selectedHour;
            minute = selectedMinute;

            long date = calendarView.getDate();
            DateFormat df = new DateFormat();

            String format = (String) df.format("dd/MM/yyyy", date);

            Date hourdate = new Date();

            hourdate.setHours(hour);
            hourdate.setMinutes(minute);


            SimpleDateFormat hourformatter = new SimpleDateFormat("HH");
            SimpleDateFormat minuteformatter = new SimpleDateFormat("mm");

            String formattedhour = hourformatter.format(hourdate);
            String formattedminute = minuteformatter.format(hourdate);

            Log.v(StorybookContentProvider.TAG_LOG, "formattedhour" + Integer.parseInt(formattedminute) + formattedminute);


            as.setDate(format);
            as.setRangeStart("");
            as.setRangeFinish("");
            as.setHour(Integer.parseInt(formattedhour));
            Log.v(StorybookContentProvider.TAG_LOG, "formattedhoursaving" + Integer.parseInt(formattedminute));
            as.setMinutes(Integer.parseInt(formattedminute));
            as.setTabColor(as.tabHost, true);

問題は次のとおりformattedhourです。希望する方法でフォーマットされていますが(選択すると)が03返されますが、選択すると3が返されます。フォーマットを削除します。これはエラーですか?03Integer.parseInt(formattedhour)

4

2 に答える 2

3

バグはありません。期待どおりに動作しています。

フォーマットは表示用です。03が必要な場合は、フォーマットされたものを使用してください。先行ゼロは、整数で使用している間は異なる意味を持っているため、3として扱われます。

于 2013-01-16T22:17:32.860 に答える
0

整数の左側にあるゼロを削除する必要があります。そうすればうまくいくはずです

于 2013-01-17T01:10:45.593 に答える