线程

时间:2017-07-03 10:44:52

标签: android multithreading

我正在播放一个歌词线程,我想在用户点击暂停按钮时暂停此线程,该变量在onPause()生命周期的activity方法中被赋予false值。现在,如果我尝试在诗歌中间暂停线程并恢复它,那么它应该从我离开的地方开始,但它从第一行开始,而不是从我离开的地方开始。当counter为0时,通过将boolean变量(ringa_thread_running)设为false来停止线程。 现在,当我按下按钮恢复线程时,它不起作用,而是显示的线/歌词固定在屏幕上。

还弃用了resume()线程方法。这里不能使用start()方法,当我尝试使用start方法时,它会发出致命错误:线程已经启动。

以下是我的代码。

pause.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (counter == 0) {
                ringa_thread_running=false;
                pause.setImageResource(R.drawable.play);
                counter = 1;
            } else if (counter == 1) {
                ringa_thread_running=true;
                lyrics_ring.resume();
                pause.setImageResource(R.drawable.pause);
                counter = 0;
            }
        }
    });

1 个答案:

答案 0 :(得分:0)

尝试通过sleep线程执行此操作,然后使用notify将其唤醒