1
私はRecyclerView
で活動します。アクティビティが完了したら、RecyclerView ViewHolderでスレッドを停止できますか?
RecyclerView
には、シークバーと再生ボタンで曲リストを作成しました。
はシークバーでは、これはスレッド
しかし、変更アクティビティーを使用して音楽の現在位置を移動し、音楽は私が活動を変更したときに、私が欲しい
を停止したがエラーになり、音楽が停止し、エラーではありません
助けてください
//seekbar change listener
seekbar.setMax(music.getDuration());
seekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
// TODO Auto-generated method stub
if(fromUser)
music.seekTo(progress);
}
});
//music playing
public void button(View v){
if(music.isPlaying()){
music.stop();
try {
music.prepare();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
music.seekTo(0);
button.setText(R.string.start);
seekbar.setProgress(0);
}else{
music.start();
button.setText(R.string.stop);
Thread();
}
}
//Thread
public void Thread(){
Runnable task = new Runnable(){
public void run(){
while(music.isPlaying()){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
seekbar.setProgress(music.getCurrentPosition());
}
}
};
Thread thread = new Thread(task);
thread.start();
}
あなたはonStop()またはonPause()メソッドでメソッドを終了しようとしましたか? – ZeroOne
私は試みましたが、それがrecyclerview.viewholderにある場合に備えて、私はonStop()またはonPauseメソッドを使用できません –