0

私のアプリケーションでは、日付も取得しているという点で、データベースからデータを取得しています。したがって、ユーザーが特定の項目をクリックすると、その開始日も取得することを意味し、画面のデータピッカーでデフォルトの日付として設定する必要があります。データの取得は正しいものとして行われ、1 つのダイアログが表示され、2 つのオプション「SET」と「CANCEL」を含む取得されたデータが表示されます。設定をクリックすると、取得された日付がデフォルトの日付として取得されないことを意味します。現在の日付のみがデフォルトの日付として取得されます。ヘルプ私..よろしくお願いします。

私のコーディング:

 c = Calendar.getInstance();               
               SimpleDateFormat sdf=new SimpleDateFormat("yyyy/MM/dd");
               System.out.println("After format");
               Date pickdefdate=null;
               String pickdefdatepar=null;
               try {
                   System.out.println("Inside try="+date);
              pickdefdate=sdf.parse(date);
              System.out.println("dddddddd="+pickdefdate);

              c.setTime(pickdefdate);
              System.out.println("After parse");
            } catch (ParseException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
               System.out.println("B4 setting");

               mYear = c.get(Calendar.YEAR);
               mMonth = c.get(Calendar.MONTH);
               mDay = c.get(Calendar.DAY_OF_MONTH);           
               showDialog(DATE_DIALOG_ID);


protected Dialog onCreateDialog(int id) 
     {
            switch (id) {
            case DATE_DIALOG_ID:
                System.out.println("in dia="+mDay);
                return new DatePickerDialog(this, mDateSetListener, mYear, mMonth, mDay);
            }
            return null;
        }


     private DatePickerDialog.OnDateSetListener mDateSetListener =
                new DatePickerDialog.OnDateSetListener() {
                    public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
                        System.out.println("Inside dia");
                        mYear = year;
                        mMonth = monthOfYear;
                        mDay = dayOfMonth;
                    }
            };        
4

1 に答える 1

0

onPrepareDialog 関数を拡張する必要があります

 @Override

protected void onPrepareDialog(int id, Dialog dialog) {
switch (id) {
case date_picker_dialog_show:
((DatePickerDialog) dialog).updateDate(mYear, mMonth, mDay);
break;
}}

これにより、表示時に日付ピッカーの日付が更新されます

于 2012-08-11T09:10:15.540 に答える