在安卓中,可以通过以下步骤在DatePickerFragment上禁用未来几天:
以下是一个示例代码:
public class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// 获取当前日期
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);
// 创建日期选择对话框
DatePickerDialog datePickerDialog = new DatePickerDialog(getActivity(), this, year, month, day);
// 设置最小日期为当前日期
datePickerDialog.getDatePicker().setMinDate(calendar.getTimeInMillis());
return datePickerDialog;
}
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
// 获取用户选择的日期
Calendar selectedDate = Calendar.getInstance();
selectedDate.set(year, month, dayOfMonth);
// 获取当前日期
Calendar currentDate = Calendar.getInstance();
// 比较用户选择的日期与当前日期
if (selectedDate.after(currentDate)) {
// 如果用户选择的日期在当前日期之后,将其设置为当前日期
view.updateDate(currentDate.get(Calendar.YEAR), currentDate.get(Calendar.MONTH), currentDate.get(Calendar.DAY_OF_MONTH));
}
}
}
这样,当用户选择的日期在当前日期之后时,DatePickerFragment会自动将其设置为当前日期。这样就禁用了未来几天的选择。
推荐的腾讯云相关产品:腾讯云移动开发平台(https://cloud.tencent.com/product/mpp)
领取专属 10元无门槛券
手把手带您无忧上云