Three.jsを使って、作ってみた

プログラミング関連の事を色々書いています(^^) 週末はレストランやコンビニのお菓子のことを書いています。

android 時刻を入力する TimePickerDialog

今回は、androidのTimePickerDialogについて書きます。


TimePickerDialogを使うと、簡単に時刻を入力できます。
このような形のダイヤログが表示されます↓
f:id:gupuru:20140412142415p:plain


導入方法を書きます。
java

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

        final TimePickerDialog timePickerDialog = new TimePickerDialog(this,
            new TimePickerDialog.OnTimeSetListener() {
                @Override
                public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
                   
                    //処理    hourOfDay:時   miniute:分

                }
            }, hour, minute, true);
        timePickerDialog.show();

これで、導入完了です。実行すると、こうなります。
f:id:gupuru:20140412142415p:plain


ここからは、詳しくコードをみていきます。

こちらの「hour」と「minute」には現在の時刻が入っています。

 final int hour = calendar.get(Calendar.HOUR_OF_DAY);
 final int minute = calendar.get(Calendar.MINUTE);


また、こちらの「hourOfDay」には、選択した「時間」、「miniute」には、選択した「分」が入ります。

  public void onTimeSet(TimePicker view, int hourOfDay, int minute) {


最後らへんのこの部分は、ダイヤログが出た時に、表示される時刻を指定しています。

 }, hour, minute, true);

上のコードですと、ダイヤログが出た時に、現在時刻が表示されます。



では、TimePickerDialogを使ったプログラムを書きます。

こちらのプログラムは、ボタンを押すとダイヤログが表示されます。そしてダイヤログの「完了」を押すとトーストが表示されます。
java

public class MainActivity extends Activity {

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

        
      public void nya(View v){

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

          final TimePickerDialog timePickerDialog = new TimePickerDialog(this,
              new TimePickerDialog.OnTimeSetListener() {
                  @Override
                  public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
                      Toast.makeText(MainActivity.this, hourOfDay+"時"+minute+"分", Toast.LENGTH_LONG).show();

                  }
              }, hour, minute, true);
          timePickerDialog.show();
      } 

}

xml

      <Button android:id="@+id/button"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="ぼたん"
        android:onClick="nya"
        />

実行結果
ボタンを押すとダイヤログが表示されます↓
f:id:gupuru:20140412142415p:plain
ダイヤログの「完了」を押すと、Toastが出ます↓
f:id:gupuru:20140412144152p:plain


以上で、終わります。


参考サイト
時刻選択ダイアログ(TimePickerDialog)を使用するには - 逆引きAndroid入門