アプリに日付と時刻のフィールドを持つ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をDatePickerFragment$EditDateDialogListenerにキャストできません
これはアクティビティではなくダイアログフラグメントであることを理解していますが、どうすれば正しい方法で呼び出すことができますか?GetWHAT?お時間をいただきありがとうございます。
UPD:MyFragmentActivityはEditDateDialogListenerを実装していません。これは、この日付が必要ないためですが、DialogFragment1にあります。
public class MyFragmentActivity extends FragmentActivity{