我的onPrepared(Mediaplayer mp)方法内部有一个test()方法。 test()生成可运行对象并执行以下操作:

public void test() {
    Runnable playerValues = new Runnable() {
        @Override
        public void run() {
            System.out
                    .println("Player.testPlaying() --> Get Duration : "
                            + vv.getDuration());
            System.out
                    .println("Player.testPlaying() --> Total Bytes Read : "
                            + Download.totalBytesRead);
            System.out
                    .println("Player.testPlaying() --> Current Position : "
                            + vv.getCurrentPosition());
            handler.postDelayed(this, 1000);
        }
    };
    handler.postDelayed(playerValues, 1000);
}


在播放器的OnCompletion方法上,我想停止此Runnable。我怎样才能做到这一点?

最佳答案

尝试处理程序。removeCallbacks(playerValues)。 (我认为您需要将playerValues声明为一个工作的字段,因为否则处理程序将无法看到它。)

10-07 16:15