Androidタイムピッカーの例
Androidでは、「http://developer.android.com/reference/android/widget/TimePicker.html[android.widget.TimePicker」クラスを使用すると、時間ピッカーコンポーネントをレンダリングして、定義されたユーザーインターフェイス。
このチュートリアルでは、現在のページのhttp://developer.android.com/reference/android/widget/TimePicker.html[android.widget.TimePicker]を介して時間ピッカーコンポーネントをレンダリングする方法と、
android.app.TimePickerDialog
さらに、時間選択コンポーネントで時間と分を設定する方法も示します。
P.SこのプロジェクトはEclipse 3.7で開発され、Android 2.3.3.
でテストされています
1. TimePicker
”
res/layout/main.xml
“ファイルを開き、デモ用の時間ピッカー、ラベル、ボタンを追加します。
File:res/layout/main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout__width="fill__parent" android:layout__height="fill__parent" android:orientation="vertical" > <Button android:id="@+id/btnChangeTime" android:layout__width="wrap__content" android:layout__height="wrap__content" android:text="Change Time"/> <TextView android:id="@+id/lblTime" android:layout__width="wrap__content" android:layout__height="wrap__content" android:text="Current Time (H:M): " android:textAppearance="?android:attr/textAppearanceLarge"/> <TextView android:id="@+id/tvTime" android:layout__width="wrap__content" android:layout__height="wrap__content" android:text="" android:textAppearance="?android:attr/textAppearanceLarge"/> <TimePicker android:id="@+id/timePicker1" android:layout__width="wrap__content" android:layout__height="wrap__content"/> </LinearLayout>
__P.S “TimePickerDialog`”はXMLではなくコードで宣言されています。
2.コードコード
コードのコメントを読んで、それは自明でなければなりません。
File:MyAndroidAppActivity.java
package com.mkyong.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上記の「TimePickerDialog」の例は、http://developer.android.com/resources/tutorials/views/hello-timepicker.html[Google Androidタイムピッカーの例](
)から少し変更されています。
デモ
アプリケーションを実行します。
{空} 1。結果、「時間選択」および「テキストビュー」が現在の時刻に設定されます。
{空} 2。 “Change Time”ボタンをクリックすると、TimePickerDialogを介してダイアログボックスに時刻選択コンポーネントが表示されます。
{空} 3。 「時間選択」と「テキストビュー」の両方が選択された時間で更新されます。
ソースコードをダウンロードする
ダウンロードする –
Android-TimePicker-Example.zip
(16 KB)
参考文献
TimePickerの例]。
http://developer.android.com/reference/android/widget/TimePicker.html
[Android
TimePicker JavaDoc]。
http://developer.android.com/reference/android/app/TimePickerDialog.html
[Android
TimePickerDialog JavaDoc]