如何在 android 个工作室中禁用 MyCalender DialogFragment 中的未来日期?

How do I disable future dates in MyCalender DialogFragment in android studios?

这是我在 MyCalendar.java 中的代码。我想在我的 android 应用程序中禁用未来日期。我是 android 工作室的初学者,所以我对它的大部分功能都不熟悉。有人可以帮我解决这个代码吗?

package com.example.attendenceapp;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.os.Bundle;
import android.text.format.DateFormat;
import android.widget.DatePicker;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatDialogFragment;
import androidx.fragment.app.DialogFragment;

import java.util.Calendar;

public class MyCalendar extends DialogFragment{
    Calendar calendar = Calendar.getInstance();
    int day = calendar.get(Calendar.DAY_OF_MONTH);
    int month = calendar.get(Calendar.MONTH);
    int year = calendar.get(Calendar.YEAR);

    public interface OnCalendarOkClickListener{
        void onClick(int year, int month, int day);
    }
    public OnCalendarOkClickListener onCalendarOkClickListener;

    public void setOnCalendarOkClickListener(MyCalendar.OnCalendarOkClickListener onCalendarOkClickListener) {
        this.onCalendarOkClickListener = onCalendarOkClickListener;
    }
    

    @NonNull
    @Override
    public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {

        return new DatePickerDialog(getActivity(),((view,year,month,dayOfMonth)-> {
            onCalendarOkClickListener.onClick(year,month,dayOfMonth);
        }),calendar.get(Calendar.YEAR),calendar.get(Calendar.MONTH),calendar.get(Calendar.DAY_OF_MONTH));


    }


    void setDate(int year,int month,int day){
        calendar.set(Calendar.YEAR,year);
        calendar.set(Calendar.MONTH,month);
        calendar.set(Calendar.DAY_OF_MONTH,day);
    }

    String getDate(){
        return DateFormat.format("dd.MM.yyyy",calendar).toString();
    }

}

你可以试试这个:

 public void openDatePickerDialog() {
    // Get Current Date
    Calendar cal = Calendar.getInstance();
    DatePickerDialog datePickerDialog = new DatePickerDialog(EditPostActivity.this,
            (view, year, monthOfYear, dayOfMonth) -> {
                String selectedDate = dayOfMonth + "-" + (monthOfYear + 1) + "-" + year;

                binding.etDate.setText(selectedDate);

            }, cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH));


    datePickerDialog.getDatePicker().setMaxDate(cal.getTimeInMillis());

    datePickerDialog.show();
}