我在我的應用程序中使用日期和時間字段有一個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