back

さまざまなGUI部品を使ってみよう! (7/7)

■TimePickerDialogによる時刻ダイアログ

日付があれば、当然、時刻もあります。時刻のダイアログは、「TimePickerDialog」というクラスとして用意されています。これは以下のような形でインスタンス作成します。
new TimePickerDialog( [Context], [TimePickerDialog.OnTimeSetListener],
    時の値, 分の値, 真偽値 )
第1引数は、例によって「this」を指定しましょう。第2引数には、時刻をセットした時のイベント処理をするイベントリスナーが用意されます。第3、4引数はデフォルトの時分の値です。第5引数は、24時間表示にするかどうかを指定する真偽値になります。

※TimePickerDialog.OnTimeSetListenerの作成

このTimePickerDialogのイベント処理を行うのが「TimePickerDialog.OnTimeSetListener」というクラスです。これは以下のように作成します。
new TimePickerDialog.OnTimeSetListener(){
    @Override
    public void onTimeSet(TimePicker view, int h, int m) {
        ……時刻の処理……
    }
};
基本的には、先ほどのOnDateSetListenerと同じような形ですね。日時を設定したときに実行される「onTimeSet」というメソッドを1つ持っています。これは引数にTimePickerインスタンスと、設定された時分の値が渡されます。これらを使い、現在の時刻を利用した処理を作成すればいいわけです。

では、これも簡単なサンプルをあげておきましょう。下の例は、実行すると時刻ダイアログを画面に表示するというものです。時刻を設定すると、その時刻がTextViewに表示されます。


(by. SYODA-Tuyano.)

※リストが表示されない場合

AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。

package jp.tuyano;

import android.app.*;
import android.os.Bundle;
import android.widget.*;

public class SampleApp extends Activity {
	private TextView text1;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		text1 = (TextView)this.findViewById(R.id.text);
		
		TimePickerDialog.OnTimeSetListener listener =
			new TimePickerDialog.OnTimeSetListener(){

			@Override
			public void onTimeSet(TimePicker view, int h, int m) {
				text1.setText("時刻:" + h + "時" + m + "分");
			}
		};
		TimePickerDialog timePicker =
			new TimePickerDialog(this,listener,0,0,true);
		timePicker.show();
	}
}




 

記事のリストに戻る



PC Site G+ mail