Android Datumsauswahlbeispiel

Android Date Picker Beispiel

In Android können Sie die Klasse "http://developer.android.com/reference/android/widget/DatePicker.html[android.widget.DatePicker]" verwenden, um eine Datumsauswahlkomponente für die Auswahl von Tag, Monat und Jahr in einer zu rendern vordefinierte Benutzeroberfläche.

In diesem Tutorial zeigen wir Ihnen, wie Sie die Datumsauswahlkomponente auf der aktuellen Seite überandroid.widget.DatePicker und im Dialogfeld überandroid.app.DatePickerDialog rendern. Außerdem zeigen wir Ihnen, wie Sie ein Datum in der Datumsauswahlkomponente festlegen.

P.S This project is developed in Eclipse 3.7, and tested with Android 2.3.3.

1. Datumsauswahl

Öffnen Sie die Datei "res/layout/main.xml", fügen Sie zur Demonstration Datumsauswahl, Beschriftung und Schaltfläche hinzu.

Datei: res / layout / main.xml



    

P.S The “DatePickerDialog” is declare in code, not XML.

2. Code Code

Lesen Sie den Kommentar des Codes, er sollte selbsterklärend sein.

Datei: MyAndroidAppActivity.java

package com.example.android;

import java.util.Calendar;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView;

public class MyAndroidAppActivity extends Activity {

    private TextView tvDisplayDate;
    private DatePicker dpResult;
    private Button btnChangeDate;

    private int year;
    private int month;
    private int day;

    static final int DATE_DIALOG_ID = 999;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        setCurrentDateOnView();
        addListenerOnButton();

    }

    // display current date
    public void setCurrentDateOnView() {

        tvDisplayDate = (TextView) findViewById(R.id.tvDate);
        dpResult = (DatePicker) findViewById(R.id.dpResult);

        final Calendar c = Calendar.getInstance();
        year = c.get(Calendar.YEAR);
        month = c.get(Calendar.MONTH);
        day = c.get(Calendar.DAY_OF_MONTH);

        // set current date into textview
        tvDisplayDate.setText(new StringBuilder()
            // Month is 0 based, just add 1
            .append(month + 1).append("-").append(day).append("-")
            .append(year).append(" "));

        // set current date into datepicker
        dpResult.init(year, month, day, null);

    }

    public void addListenerOnButton() {

        btnChangeDate = (Button) findViewById(R.id.btnChangeDate);

        btnChangeDate.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                showDialog(DATE_DIALOG_ID);

            }

        });

    }

    @Override
    protected Dialog onCreateDialog(int id) {
        switch (id) {
        case DATE_DIALOG_ID:
           // set date picker as current date
           return new DatePickerDialog(this, datePickerListener,
                         year, month,day);
        }
        return null;
    }

    private DatePickerDialog.OnDateSetListener datePickerListener
                = new DatePickerDialog.OnDateSetListener() {

        // when dialog box is closed, below method will be called.
        public void onDateSet(DatePicker view, int selectedYear,
                int selectedMonth, int selectedDay) {
            year = selectedYear;
            month = selectedMonth;
            day = selectedDay;

            // set selected date into textview
            tvDisplayDate.setText(new StringBuilder().append(month + 1)
               .append("-").append(day).append("-").append(year)
               .append(" "));

            // set selected date into datepicker also
            dpResult.init(year, month, day, null);

        }
    };

}

P.S The “DatePickerDialog” example above, is referenced from Google Android date picker example mit geringfügigen Änderungen.

3. Demo

Führen Sie die Anwendung aus.

1. Ergebnis, "Datumsauswahl" und "Textansicht" werden auf das aktuelle Datum gesetzt.

android datepicker demo1

2. Klicken Sie auf die Schaltfläche "Datum ändern", um eine Datumsauswahlkomponente in einem Dialogfeld überDatePickerDialog aufzurufen.

android datepicker demo2

3. Sowohl die Datumsauswahl als auch die Textansicht werden mit dem ausgewählten Datum aktualisiert.

android datepicker demo3

Quellcode herunterladen

Laden Sie es herunter -Android-DatePicker-Example.zip (16 KB)