Ich habe eine DateandTimePickerDialogueFragment
erstellt und rufe die DateandTimePickerDialogueFragment
von MainActivity
an.So geben Sie Dialogfragmente Ergebniswerte zurück
Mein Problem ist, wie kann ich die DateandTimePickerDialogueFragment
Ergebniswerte an MainActivity
senden.
MainActivity:
@Override
public void onClick(View v) {
if (v.getId() == R.id.buttonid) {
DateandTimePickerDialogueFragment dateandTimePickerDialogueFragment = new DateandTimePickerDialogueFragment();
dateandTimePickerDialogueFragment.show(getSupportFragmentManager(), "DateandTimePickerDialogueFragment");
}
}
DateandTimePickerDialogueFragment:
public class DateandTimePickerDialogueFragment extends DialogFragment {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return super.onCreateView(inflater, container, savedInstanceState);
}
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
return displayDateDialogPicker(getActivity());
}
/**
* @param context
*/
private Dialog displayDateDialogPicker(Context context) {
int mYear, mMonth, mDay;
final Calendar c = Calendar.getInstance();
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);
DatePickerDialog dpd = new DatePickerDialog(context,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
int mymonth = monthOfYear + 1;
String mmmMonth = "", mmDate = "";
if (mymonth > 0 && mymonth < 10) {
mmmMonth = "0" + mymonth;
} else {
mmmMonth = "" + mymonth;
}
if (dayOfMonth > 0 && dayOfMonth < 10) {
mmDate = "0" + dayOfMonth;
} else {
mmDate = "" + dayOfMonth;
}
//YYYY-MM-DD
String finalDate = year + "-" + (mmmMonth) + "-" + mmDate;
Intent intentData = new Intent();
intentData.putExtra("Date", finalDate);
getTargetFragment().onActivityResult(getTargetRequestCode(), Activity.RESULT_OK, intentData);
}
}, mYear, mMonth, mDay);
dpd.show();
return dpd;
}
}
Können Sie eine Methode schreiben, um Ihre Klassenvariablen zu aktualisieren, um Ergebnisse zu erhalten? – Eenvincible