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]