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 运行。