einzustellen Ich mache einen Dialog. Im Initial-Zustand zeigt das DatePickerFragment das aktuelle Datum an. und ich habe dieses Datum auf mein TextView gesetzt. es funktioniert gut.Gibt es eine Möglichkeit, Date in DatePickerFragment in Android (Xamarin)
Die unten ist der Code:
DatePickerFragment Klasse
public class DatePickerFragment : DialogFragment,
DatePickerDialog.IOnDateSetListener
{
public static readonly string TAG = "X:" + typeof(DatePickerFragment).Name.ToUpper();
// Initialize this value to prevent NullReferenceExceptions.
Action<DateTime> _dateSelectedHandler = delegate { };
public static DatePickerFragment NewInstance(Action<DateTime> onDateSelected)
{
DatePickerFragment frag = new DatePickerFragment();
frag._dateSelectedHandler = onDateSelected;
return frag;
}
public override Dialog OnCreateDialog(Bundle savedInstanceState)
{
DateTime currently = DateTime.Now;
DatePickerDialog dialog = new DatePickerDialog(Activity,
this,
currently.Year,
currently.Month - 1,
currently.Day);
return dialog;
}
public void OnDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth)
{
DateTime selectedDate = new DateTime(year, monthOfYear + 1, dayOfMonth);
_dateSelectedHandler(selectedDate);
}
}
auf Aktivität verwenden diese Art und Weise in meinem Dialog.
txt_selectDate = dialog.FindViewById<TextView>(Resource.Id.txt_selectDate);
DateTime cuurently = DateTime.Now;
txt_selectDate.Text = cuurently.ToString("dd/MM/yyyy",CultureInfo.InvariantCulture);
dialog.Show();
var select_date = dialog.FindViewById<ImageView>(Resource.Id.select_date);
select_date.Click += SelectDate_Click;
und erstellen Klick-Methode wie dieses
void SelectDate_Click(object sender, EventArgs e)
{
DatePickerFragment frag = DatePickerFragment.NewInstance(delegate (DateTime time)
{
var pickupDate = time.ToString("yyyy-MM-dd'T'HH:mm:ss'Z'", CultureInfo.InvariantCulture);
txt_selectDate.Text = time.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);
});
frag.Show(context.FragmentManager, DatePickerFragment.TAG);
}
Problem:
Jetzt, als ich Pickup neues Datum klicken Sie erneut auf die DatePickerFragment
zeigt das aktuelle Datum nicht das vorherige ausgewählte Datum. Also gibt es eine Möglichkeit, wie ich das vorherige Datum auf DatePickerFragment
setzen kann?
Jede Hilfe wird geschätzt.
Update:
Nach param Zugabe wird es diese Antwort geben.
Ich habe getan, Dies in nativen Android kann es helfen. Sie können das vorhandene Datum richtig bekommen? – Raghavendra
@Raghavendra ja ich möchte das bestehende Datum einstellen. – Ironman
Nein, ich habe gefragt, ob Sie das vorhandene Datum irgendwo speichern möchten. – Raghavendra