最終更新:
moonlight_aska 2010年10月11日(月) 00:30:27履歴
シークバーのつまみを移動したとき, 以下のイベントが順に発生する.

- OnStartTrackingTouch : つまみにタッチしたときに発生する.
- OnProgressChanged : つまみを移動したときに発生する.
- OnStopTrackingTouch : つまみを離したときに発生する.
- SeekBar01.java
- findViewByIdメソッドで, 指定したリソースインデックスのIDに対応したシークバーのインスタンスを取得する.
- SeekBar.OnSeekBarChangeListenerインタフェースを実装したオブジェクトをイベントリスナとして設定する.
- SeekBar.OnSeekBarChangeListener#onStartTrackingTouch/onProgressChanged/onStopTrackingTouchメソッドにそれぞれ処理を記述する.
- SeekBar#getProgressメソッドで, 値を取得する.
package com.moonlight_aska.android.seekbar01;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.SeekBar;
public class SeekBar01 extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SeekBar seekBar = (SeekBar)findViewById(R.id.seekbar_id);
seekBar.setMax(100);
seekBar.setProgress(50);
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
Log.v("SeekBar", "Stop : " + String.valueOf(seekBar.getProgress()));
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
Log.v("SeekBar", "Start : " + String.valueOf(seekBar.getProgress()));
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
// TODO Auto-generated method stub
Log.v("SeekBar", "Changed : " + String.valueOf(progress));
}
});
}
}

レイティングバーの値がタッチやキー操作で変更された場合, OnProgressChangedイベントが発生する.
- RatingBar01.java
- findViewByIdメソッドで, 指定したリソースインデックスのIDに対応したレイティングバーのインスタンスを取得する.
- RatingBar.OnRatingBarChangeListenerインタフェースを実装したオブジェクトをイベントリスナとして設定する.
- RatingBar.OnRatingBarChangeListener#onProgressChangedメソッドに処理を記述する.
package com.moonlight_aska.android.ratingbar01;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.RatingBar;
public class RatingBar01 extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
RatingBar ratingBar = (RatingBar)findViewById(R.id.ratingbar_id);
ratingBar.setNumStars(5);
ratingBar.setRating(2.5f);
ratingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
@Override
public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
// TODO Auto-generated method stub
Log.v("RatingBar", "Changed : " + String.valueOf(rating));
}
});
}
}
コメントをかく