我的应用程序中有一个 DialogFragment1(由 MyFragmentActivity 调用),带有日期和时间字段。当用户单击它们时,会出现 DatePickerFragment 和 TimePickerFragment。它们还扩展了 DialogFragments。我想像往常一样将它们的值返回到 DailogFragment1:
public void onDateSet(DatePicker view, int year, int month, int day) {
EditDateDialogListener activity = (EditDateDialogListener) getActivity();
activity.onFinishDateDialog(day, month, year);
}
(在我照常实施之前)
public interface EditDateDialogListener{
void onFinishDateDialog(int day, int month,int year);
}
在实现 EditDateDialogListener 的 DialogFragment1 中:
public void onFinishDateDialog(int day, int month, int year){
this.mDay=day;
this.mMonth=month;
this.mYear=year;
updateDateDisplay();
但是我有一个运行时错误 12-01 20:03:52.018: E/AndroidRuntime(756): java.lang.ClassCastException: MyFragmentActivity cannot be cast to DatePickerFragment$EditDateDialogListener
我知道这是对话片段而不是活动,但是我怎样才能以正确的方式调用它?得到什么?感谢您的时间。
UPD:我的 MyFragmentActivity 没有实现 EditDateDialogListener,因为我不需要这个日期,而是在 DialogFragment1 中。
public class MyFragmentActivity extends FragmentActivity{