Zum deaktivieren der Daten vor dem heutigen Datum in DatePickerDialog Android?
Möchte ich deaktivieren Sie die Daten vor dem heutigen Datum in die DatePickerDialog .Ich bin neu in der android bitte mir empfehlen, wie könnte ich dies tun .Hier ist mein code, den ich geschrieben habe für DatePickerDialog
final DatePickerDialog.OnDateSetListener date = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
//TODO Auto-generated method stub
myCalendar.set(Calendar.YEAR, year);
myCalendar.set(Calendar.MONTH, monthOfYear);
myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
updateLabel(val);
}
};
depart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//TODO Auto-generated method stub
new DatePickerDialog(this, date, myCalendar
.get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),
myCalendar.get(Calendar.DAY_OF_MONTH)).show();
val=1;
}
});
returnDate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//TODO Auto-generated method stub
new DatePickerDialog(this, date, myCalendar
.get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),
myCalendar.get(Calendar.DAY_OF_MONTH)).show();
val=2;
}
});
private void updateLabel(int val) {
String myFormat = "dd/MM/yy"; //In which you need put here
SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.US);
Log.d("Date vlue ", "==="+sdf.format(myCalendar.getTime()));
if(val==1)
depart.setText(sdf.format(myCalendar.getTime()));
else
returnDate.setText(sdf.format(myCalendar.getTime()));
}
Bitte machen Sie mir was zu tun haben
InformationsquelleAutor Developer | 2013-07-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diesem Beispiel sehen..!
main.xml
deaktivieren Sie die Daten vor dem heutigen Datum in DatePickerDialog.
Ich habe versucht es so nur zu pflücken Termine vor heute Termine
Jetzt ist es in Ordnung arbeiten, jetzt das Problem ist, dass sobald der user wählt ein Datum nach, er kann nicht wählen Sie das Datum aus, bevor das ausgewählte Datum
Hariharan
Dein code ist in Ordnung, aber es scheint nicht zu funktionieren, wenn ich es installieren auf meinem Handy. Ich meine, die vorherigen Termine sind immer ausgewählt, das sollte nicht passieren, richtig? Wie kann ich dieses Problem beheben? Danke.InformationsquelleAutor Hariharan
Holen Sie sich die DatePicker verwendet in Ihrem DatePickerDialog mit der getDatePicker () - Methode, und verwenden Sie die setMinDate(Long millis) Methode.
Übergeben ihm die minimum-Datum (in Millisekunden aus-Epoche), die Sie haben zu setzen.
So etwas wie
EDIT:
ok, also, wenn Ihre Erstellung Ihres DatePickerDialog, bevor es zu zeigen, speichern Sie ihn einfach für eine variable, die Mindest-Datum und dann zeigen Sie es.
sollte diese Arbeit.
Sie haben noch nicht alle Ihre Codes, so ist es schwer zu sagen, "wo" Sie die änderungen. Sollten Sie noch irgendwo eine DatePickerDialog oder ein DatePicker. Wenn Sie möchten, Ihnen weiter zu helfen, sollte uns zeigen, wo Sie sind mit diesen Klassen.
Bitte sehen Sie in meiner Frage, ich habe meine komplette code, den ich benutze für datePickerDailog
bearbeitet! Dies versuchen. 🙂
Ich mag dieses ein viel besser als die akzeptierte Antwort. Sehr sauber und einfach.
InformationsquelleAutor Enrichman
//Erstellt eine neue Instanz von DatePickerDialog und senden Sie es
InformationsquelleAutor Dhara Patel
Ich weiß, es ist zu spät. Aber hoffen, dass dies hilft. Verwenden
in deinem Fall Datum DatePickerDialog
Prost!
Es funktioniert perfekt, danke. Wohl die -1000 ist, weil Sie bekommen, die aktuelle Zeit in Millisekunden
Wahrscheinlich, weil dieser IllegalArgumentException Problem. stackoverflow.com/questions/13661788/...
InformationsquelleAutor KZoNE
Bekam ich die Lösung .hoffe es hilft jemandem
static final int DATE_DIALOG_ID = 999;
InformationsquelleAutor Developer