我在我的应用程序中使用日期和时间字段有一个DialogFragment1(它由MyFragmentActivity调用)。当用户点击它们时,出现DatePickerFragment和TimePickerFragment。他们还扩展DialogFragments。我想returm从中值DailogFragment1像往常一样:从DialogFragment中调用DialogFragment,getActivity中的ClassCastException()
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);
}
,并在DialogFragment1实现EditDateDialogListener:
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:MyFragmentActivit y不能被转换为DatePickerFragment $ EditDateDialogListener
我知道这是dialogfragment不是活动,但是我怎么才能以正确的方式调用它?得到什么? 谢谢你的时间。
UPD:我的MyFragmentActivity没有实现EditDateDialogListener,因为我不需要这个Date,但是在DialogFragment1中。
public class MyFragmentActivity extends FragmentActivity{
是EditDateDialogListener自己的实现?我在API中看不到它。 –
aha,它是由我的DialogFragment1实现的。.. – Foenix
我更新了帖子。 – Foenix