2012-10-26 57 views
2

以前我使用的是showDialog()現在已被棄用。Android:在片段中獲取DatePickerDialog

我已經在片段其中包含一個EditText。我怎樣才能調用這個DatePickerDialog並將EditText的文本設置爲選定的日期?

使用DialogFragment似乎有點複雜。

謝謝

回答

12

它很容易:

DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() { 

    public void onDateSet(DatePicker view, int year, 
      int monthOfYear, int dayOfMonth) { 
     mYear = year; 
     mMonth = monthOfYear; 
     mDay = dayOfMonth; 
     updateDisplay(); 
    } 
}; 

DatePickerDialog d = new DatePickerDialog(getActivity(), 
     R.style.MyThemee, mDateSetListener, mYear, mMonth, mDay); 
d.show(); 

UpdateDisplay方法:

private void updateDisplay() { 

    GregorianCalendar c = new GregorianCalendar(mYear, mMonth, mDay); 
    SimpleDateFormat sdf = new SimpleDateFormat("dd MMMM yyyy"); 

    editDate.setText(sdf.format(c.getTime())); 

    sdf = new SimpleDateFormat("yyyy-MM-dd"); 

    transDateString=sdf.format(c.getTime()); 
}// updateDisplay 
相關問題