DatePickerFragment
我认为使用(aka DatePickerDialog
within Fragment
) 并将其添加到FragmentManager
(see getSupportFragmentManager()
)会更正确
像这样,您可以在显示旋转中幸存下来(请参阅防止在 Android 中的屏幕旋转上解除对话框)
片段本身
public static class DatePickerFragment extends DialogFragment
implements DatePickerDialog.OnDateSetListener {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current date as the default date in the picker
final Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
// Create a new instance of DatePickerDialog and return it
return new DatePickerDialog(getActivity(), this, year, month, day);
}
public void onDateSet(DatePicker view, int year, int month, int day) {
// Do something with the date chosen by the user
}
}
显示 DatePickerFragment 的代码
DialogFragment newFragment = new DatePickerFragment();
newFragment.show(getSupportFragmentManager(), "datePicker");
不要忘记更改extends Activity
为extends FragmentActivity