publicstaticfinal String EXTRA_DATE = "com.crimeintent.date";
...
privatevoidsendResult(int requestCode, Date date) {
if (getTargetFragment()==null){
return;
}
Intent intent = new Intent();
intent.putExtra(EXTRA_DATE, date);
getTargetFragment().onActivityResult(getTargetRequestCode(),requestCode,intent);
}
方法调用:
new AlertDialog.Builder(getActivity())
.setView(view)
.setTitle(R.string.date_picker_title)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
intyear = mDatePicker.getYear();
intmonth = mDatePicker.getMonth();
intday = mDatePicker.getDayOfMonth();
Datedate= new GregorianCalendar(year,month,day).getTime();
sendResult(Activity.RESULT_OK,date);
}
})
.create();
在CrimeFragment 方法中获取数据
@Override
public void onActivityResult(int requestCode, int resultCode, Intentdata) {
if (resultCode!= Activity.RESULT_OK){
return;
}if (requestCode==REQUEST_CODE){
Date date = (Date)data.getSerializableExtra(DatePickerFragment.EXTRA_DATE);
mCrime.setDate(date);
updateDate();
}
}