【发布时间】:2015-03-26 08:01:37
【问题描述】:
我正在制作一个使用DatePickerDialog 的Android 应用程序。预期的功能是让用户在对话框中选择一个日期,然后让TextView 反映所选日期。但是,当用户选择日期时,我找不到任何类型的点击监听器来通知我的活动。我正在寻找一种方法来检测用户何时选择了日期,但来自我的主要活动。这是我的DatePickerDialog 班级:
public class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {
private GregorianCalendar date;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current date as the default date in the picker
final Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
// Create a new instance of DatePickerDialog and return it
return new DatePickerDialog(getActivity(), this, year, month, day);
}
@Override
public void onDateSet(DatePicker datePicker, int year, int month, int day) {
date = new GregorianCalendar(year, month, day);
}
public GregorianCalendar getDate() {
return date;
}
}
以及我启动对话框的代码:
DialogFragment datePicker = new DatePickerFragment();
datePicker.show(getSupportFragmentManager(), "datePicker");
我目前从扩展Activity 的类启动对话框,并且我正在寻找一种方法来检测用户是否从对话框中选择了日期。有什么建议吗?
【问题讨论】:
-
这可以通过定义一个公共函数来实现
-
如果您更改的日期将被粘贴到文本视图上,那么您应该简单地覆盖
onTextChanged以检查日期是否已更改
标签: android listener android-datepicker