android 時刻を入力する TimePickerDialog
今回は、androidのTimePickerDialogについて書きます。
TimePickerDialogを使うと、簡単に時刻を入力できます。
このような形のダイヤログが表示されます↓
導入方法を書きます。
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();
これで、導入完了です。実行すると、こうなります。
ここからは、詳しくコードをみていきます。
こちらの「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(); } }
<Button android:id="@+id/button" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="ぼたん" android:onClick="nya" />
実行結果
ボタンを押すとダイヤログが表示されます↓
ダイヤログの「完了」を押すと、Toastが出ます↓
以上で、終わります。