Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使DatePickerFragment对话框中以前选择的日期成为编辑时的默认日期?_Android_Date_Android Datepicker - Fatal编程技术网

Android 如何使DatePickerFragment对话框中以前选择的日期成为编辑时的默认日期?

Android 如何使DatePickerFragment对话框中以前选择的日期成为编辑时的默认日期?,android,date,android-datepicker,Android,Date,Android Datepicker,我有一个DatePickerFragment,它启动一个对话框供用户选择日期。该对话框使用今天的日期作为默认日期。用户选择日期后,代码将更新布局中的编辑文本行。如果用户稍后返回EditText行编辑日期,我希望对话框显示以前选择的日期,而不是今天的默认日期。我听说onPrepareDialog已被弃用,所以我不想使用它。我基本上需要存储用户最初设置的年、月和日,然后在对话框再次显示时使用这些日期,而不是今天的日期 partial Fragment file: ... import android

我有一个DatePickerFragment,它启动一个对话框供用户选择日期。该对话框使用今天的日期作为默认日期。用户选择日期后,代码将更新布局中的编辑文本行。如果用户稍后返回EditText行编辑日期,我希望对话框显示以前选择的日期,而不是今天的默认日期。我听说onPrepareDialog已被弃用,所以我不想使用它。我基本上需要存储用户最初设置的年、月和日,然后在对话框再次显示时使用这些日期,而不是今天的日期

partial Fragment file:
...
import android.support.v4.app.DialogFragment;

public class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {

private EditText txtDate;
private Calendar cal;
private int currentyear;
private int currentmonth;
private int currentday;
private String stringDueDateFrag;

public DatePickerFragment() {
}

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {

    // Use the current date as the default date that we get from a Calendar object, in the DatePicker Dialog.
    final Calendar cal = Calendar.getInstance();
    currentyear = cal.get(Calendar.YEAR);
    currentmonth = cal.get(Calendar.MONTH);
    currentday = cal.get(Calendar.DAY_OF_MONTH);

    DatePickerDialog dialog = new DatePickerDialog(getActivity(),this,currentyear,currentmonth,currentday);

    return dialog;
}


    txtDate = (EditText) getActivity().getWindow().getDecorView().getRootView().findViewById(R.id.FEditText);
    stringDueDateFrag = (month + 1) + "/" + day + "/" + year + " ";
    txtDate.setText(stringDueDateFrag);
    txtDate.setSelection(txtDate.getText().length());
}
在onCreate方法中,每次初始化当前日期时,都应该在每次调用DialogFragment时将日期从EditText传递到DialogFragment

类似问题供参考


因此,设置一个日历对象和一个带有EditText日期的捆绑包,然后在下次选择EditText时调用捆绑包?将EditText日期作为捆绑包发送,在对话框框中接收捆绑包,将EditText日期转换为日期格式,并将其设置为当前日期,显示对话框OK,所有这些都在OnCreate之外设置正确吗?