我有一个用于显示时间选择器对话框的DialogFragment,当按下按钮时会显示该对话框,并且我想将按钮的文本更改为新设置的时间。
我的问题是,我无法从Activity中调用DialogFragment的setOnDismissListener方法。
这是我的DialogDragment:
我已经考虑在我的活动中创建一个处理程序,每秒刷新一次该活动,但这不是我想解决问题的方式。 我只希望当我关闭我的DialogFragment时,我的按钮被设置为我输入的时间。 感谢您的帮助。
我的问题是,我无法从Activity中调用DialogFragment的setOnDismissListener方法。
这是我的DialogDragment:
public class TimePickerFragment extends DialogFragment
implements TimePickerDialog.OnTimeSetListener {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
int hour = Application.getSettings().getInt("hour", 11);
int minute = Application.getSettings().getInt("minute", 11);
// Create a new instance of TimePickerDialog and return it
return new TimePickerDialog(getActivity(), this, hour, minute,
DateFormat.is24HourFormat(getActivity()));
}
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
FirstTimeLaunchSettingsActivity.hours = hourOfDay;
FirstTimeLaunchSettingsActivity.minutes = minute;
}
}
这是我如何称呼此DialogFragment
public void showTimePickerDialog(View v) {
DialogFragment newFragment = new TimePickerFragment();
newFragment.show(this.getFragmentManager(), "timePicker");
}
我已经考虑在我的活动中创建一个处理程序,每秒刷新一次该活动,但这不是我想解决问题的方式。 我只希望当我关闭我的DialogFragment时,我的按钮被设置为我输入的时间。 感谢您的帮助。