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.
2. Klicken Sie auf die Schaltfläche "Zeit ändern", um eine Zeitauswahlkomponente in einem Dialogfeld überTimePickerDialog
aufzurufen.
3. Sowohl die Zeitauswahl als auch die Textansicht werden mit der ausgewählten Zeit aktualisiert.
Quellcode herunterladen
Laden Sie es herunter -Android-TimePicker-Example.zip (16 KB)