Android: onLongClickListener while - 陷入无限循环并挂起应用程序
Android: onLongClickListener while - Falls into infinite loop and hangs app
我正在制作音频播放器,除了快进和快退按钮外,其他所有部分都正常工作。
我不知道怎么做,所以当我按住快进或快退按钮时 - 它会增加进度,松手时它会停止并开始播放该部分的音乐。
我写了这个:
forwardButton.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
while(v.isPressed()){
currentProgress.setProgress((currentProgress.getProgress()+1));
}
return false;
}
});
但是当我按住快进时,应用程序基本上陷入无限循环并挂起导致 android 让我选择等待或终止。
我想我需要在它上面实现 Runnable 并通过它来避免挂起,但我不知道该怎么做。
帮忙?
变量:
forwardButton = Fast Forward button.
currentProgress = seekbar for music.
mPlayer = music player.
不要那样做。相反,使用处理程序并在 runnable 内部包含你的 while bucle,它将在你的主线程上 posting setProgress()
。每次你 post 一个转发订单,延迟 X 秒,然后检查按钮是否一直被点击,如果是,则重新post 运行。
我正在制作音频播放器,除了快进和快退按钮外,其他所有部分都正常工作。
我不知道怎么做,所以当我按住快进或快退按钮时 - 它会增加进度,松手时它会停止并开始播放该部分的音乐。
我写了这个:
forwardButton.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
while(v.isPressed()){
currentProgress.setProgress((currentProgress.getProgress()+1));
}
return false;
}
});
但是当我按住快进时,应用程序基本上陷入无限循环并挂起导致 android 让我选择等待或终止。
我想我需要在它上面实现 Runnable 并通过它来避免挂起,但我不知道该怎么做。
帮忙?
变量:
forwardButton = Fast Forward button.
currentProgress = seekbar for music.
mPlayer = music player.
不要那样做。相反,使用处理程序并在 runnable 内部包含你的 while bucle,它将在你的主线程上 posting setProgress()
。每次你 post 一个转发订单,延迟 X 秒,然后检查按钮是否一直被点击,如果是,则重新post 运行。