0

OnCreate メソッドでデータベースに保存されている取得した日付値を使用して、アプリの日付ピッカーを設定しようとしています。年、月、日の値自体を使用して日付ピッカーを設定するまでは、すべて問題ありません。現在、日付ピッカーは常に「1970 年 1 月 1 日」に設定されています。うまくいけば、誰かが私をここで正しい方向に向けることができます.

示されているように、文字列を Date オブジェクトに解析し、年、月、日の値を個別に取得します。それらは整数として保存され、.init メソッドを使用して日付ピッカーを設定する必要があります。

これまでの私のコードは次のとおりです。

                    DBHandlerApp dateToEdit= new DBHandlerApp(this, null, null);
        dateToEdit.open();
        String returnedDate = dateToEdit.getTime(passedID);


         SimpleDateFormat newFormatDate = new SimpleDateFormat("dd-MMM-yyyy");
         try 
        {
        dateToEditApp = newFormat.parse(returnedDate);
        } catch (ParseException e)
        {

            e.printStackTrace();
        }     

         Calendar calDate = Calendar.getInstance();

         calDate.setTime(dateToEditApp);

         int year = calDate.get(Calendar.YEAR);
         int monthOfYear = calDate.get(Calendar.MONTH);
         int dayOfMonth = calDate.get(Calendar.DAY_OF_MONTH);

         editDatePicker.init(year, monthOfYear, dayOfMonth, null);
4

2 に答える 2

1

コードに小さな問題がある可能性があります。解析しようとしたときに newFormatDate の名前を間違えたと思います。これにより、dateToEditApp のデフォルト値 (1970 年 1 月 1 日) に移動します。

すべきではない

dateToEditApp = newFormat.parse(returnedDate);

なれ

dateToEditApp = newFormatDate.parse(returnedDate);

?

于 2013-01-30T13:45:27.253 に答える
0

日付「1970 年 1 月 1 日」はデフォルト値です。これは、「1970 年 1 月 1 日」から今日までのミリ秒のカウントを開始するためです。したがって、データベースから日付を取得するとき、または解析中に何か問題が発生したと思います。解析が例外をスローするかどうかを確認できますか?

于 2013-01-30T13:43:51.057 に答える