Android Time Picker Beispiel

Android Time Picker Beispiel

In Android können Sie mithilfe der Klasse „http://developer.android.com/reference/android/widget/TimePicker.html[android.widget.TimePicker]“ eine Zeitauswahlkomponente rendern, um Stunde und Minute in einem vorab festgelegten Zeitraum auszuwählen. definierte Benutzeroberfläche.

In diesem Tutorial zeigen wir Ihnen, wie Sie die Zeitauswahlkomponente überandroid.widget.TimePicker auf der aktuellen Seite und im Dialogfeld überandroid.app.TimePickerDialog rendern. Darüber hinaus zeigen wir Ihnen, wie Sie eine Stunde und eine Minute für die Zeitauswahl festlegen.

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

1. TimePicker

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

Datei: res / layout / main.xml



    

P.S The “TimePickerDialog” 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.Dialog;
import android.app.TimePickerDialog;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.TimePicker;

public class MyAndroidAppActivity extends Activity {

    private TextView tvDisplayTime;
    private TimePicker timePicker1;
    private Button btnChangeTime;

    private int hour;
    private int minute;

    static final int TIME_DIALOG_ID = 999;

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

        setCurrentTimeOnView();
        addListenerOnButton();

    }

    // display current time
    public void setCurrentTimeOnView() {

        tvDisplayTime = (TextView) findViewById(R.id.tvTime);
        timePicker1 = (TimePicker) findViewById(R.id.timePicker1);

        final Calendar c = Calendar.getInstance();
        hour = c.get(Calendar.HOUR_OF_DAY);
        minute = c.get(Calendar.MINUTE);

        // set current time into textview
        tvDisplayTime.setText(
                    new StringBuilder().append(pad(hour))
                                       .append(":").append(pad(minute)));

        // set current time into timepicker
        timePicker1.setCurrentHour(hour);
        timePicker1.setCurrentMinute(minute);

    }

    public void addListenerOnButton() {

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

        btnChangeTime.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                showDialog(TIME_DIALOG_ID);

            }

        });

    }

    @Override
    protected Dialog onCreateDialog(int id) {
        switch (id) {
        case TIME_DIALOG_ID:
            // set time picker as current time
            return new TimePickerDialog(this,
                                        timePickerListener, hour, minute,false);

        }
        return null;
    }

    private TimePickerDialog.OnTimeSetListener timePickerListener =
            new TimePickerDialog.OnTimeSetListener() {
        public void onTimeSet(TimePicker view, int selectedHour,
                int selectedMinute) {
            hour = selectedHour;
            minute = selectedMinute;

            // set current time into textview
            tvDisplayTime.setText(new StringBuilder().append(pad(hour))
                    .append(":").append(pad(minute)));

            // set current time into timepicker
            timePicker1.setCurrentHour(hour);
            timePicker1.setCurrentMinute(minute);

        }
    };

    private static String pad(int c) {
        if (c >= 10)
           return String.valueOf(c);
        else
           return "0" + String.valueOf(c);
    }
}

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

3. Demo

Führen Sie die Anwendung aus.

1. Ergebnis, "Zeitauswahl" und "Textansicht" werden auf die aktuelle Zeit eingestellt.

android timepicker demo1

2. Klicken Sie auf die Schaltfläche "Zeit ändern", um eine Zeitauswahlkomponente in einem Dialogfeld überTimePickerDialog aufzurufen.

android timepicker demo2

3. Sowohl die Zeitauswahl als auch die Textansicht werden mit der ausgewählten Zeit aktualisiert.

android timepicker demo3

Quellcode herunterladen

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