画面を回転させるまで正常に動作するメディアプレーヤーシークバーがあります。私が見たいのは、シークバーの進歩が続くことです。ただし、ゼロにリセットされ、タッチイベントに応答しなくなります。
これはoncreateのコードです:
mSeekBar.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
seekChange(v);
return false;
}
});
そしてメインクラスでは:
private final Runnable updatePositionRunnable = new Runnable() {
public void run() {
updatePosition();
}
};
private void updatePosition() {
handler.removeCallbacks(updatePositionRunnable);
try{
if (mp != null) mSeekBar.setProgress(mp.getCurrentPosition());
} catch (Exception ex) {
mSeekBar.setProgress(0);
handler.removeCallbacks(updatePositionRunnable);
}
handler.postDelayed(updatePositionRunnable, 100);
}
//seekbar re-position track
private void seekChange(View v) {
try{
if (mp != null) mp.seekTo(mSeekBar.getProgress());
} catch (Exception ex) {
}
}
何が間違っている可能性があるかについて何か考えはありますか?