So legen Sie das Datumslimit im Dialogfeld "Datumsauswahl" fest

Ich möchte das Datum begrenzen, damit der Benutzer nicht mehr als das Datum auswählen kann. Wenn beispielsweise heute der 1. Januar ist, sollte der Benutzer nicht in der Lage sein, mehr als 7 Daten auszuwählen. Ich meine, er kann den 9. Januar nicht auswählen. Ich möchte auch, dass er den Monat und das Jahr nicht auswählt. Also setze ich ein Limit, um seine Aufgabe in einer Woche zu erledigen.

was ich bisher getan habe, zeigt das Datumsauswahlfragment und setzt das aktuelle Datum darin. Der Code in meiner Hauptaktivität sieht folgendermaßen aus:

etSelectDate.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                DialogFragment datePickerFragment = new DatePickerFragment() {
                    @Override
                    public void onDateSet(DatePicker view, int year, int month, int day) {
                        Log.d("Date Change", "onDateSet");
                        Calendar c = Calendar.getInstance();
                        c.set(year, month, day);
                        DateFormat df = DateFormat.getDateInstance();
                        etSelectDate.setText(df.format(c.getTime()));
                        //nextField.requestFocus(); //moves the focus to something else after dialog is closed

                    }
                };
                datePickerFragment.show(MainActivity.this.getSupportFragmentManager(), "datePicker");

            }
        });

ie Fragmentklasse von @ und Datumsauswahl sieht folgendermaßen aus:

 public static class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener{

        @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 view, int year, int month, int day) {
            //blah
        }
    }

is dahin funktioniert es einwandfrei, aber ich weiß nicht, wie ich das Datum begrenzen soll, und der Rest der Monate und des Jahres sollte nicht auswählbar sein. Ich habe viele Links gesehen, wie zBDie, aber ich verstehe nicht, wie kann ich das tun und es gibt auch nichts hilfreiches auf Android-Website.

Also bitte hilf mir, wie kann ich das Limit von nur sieben Tagen setzen

Aktualisiere

Durch Ihre Antworten weiß ich, wie man das maximale Datum im Kalender festlegt. Da ich das maximale Datum 7 Tage vor dem aktuellen Datum festlegen möchte, erhalte ich es immer noch nicht. Die Methode, die ich bisher gelesen habe, ist:

pickerDialog.getDatePicker().setMaxDate(new Date().getTime());

Es wird das aktuelle Datum als Maximum festgelegt, aber wie kann ich 7 Tage im Voraus hinzufügen, da es sich um ein Datumsobjekt handelt? bitte hilf

Antworten auf die Frage(8)

Ihre Antwort auf die Frage