如何阻止从Android中的方法生成的运行程序?

如何阻止从Android中的方法生成的运行程序?,android,handler,runnable,Android,Handler,Runnable,我的onPrepared(Mediaplayer mp)方法中有一个方法test()。test()生成runnable并执行以下操作: public void test() { Runnable playerValues = new Runnable() { @Override public void run() { System.out .println("Player.testPlayin

我的onPrepared(Mediaplayer mp)方法中有一个方法test()。test()生成runnable并执行以下操作:

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。我该怎么做呢?

试试handler.(playerValues)。(我认为您应该将playerValues声明为一个字段,以便该字段正常工作,因为否则处理程序将没有看到它的范围。)

尝试处理程序。(playerValues)。(我认为您应该将playerValues声明为一个字段,以使其正常工作,因为否则处理程序将没有看到它的范围。)

如何将其声明为字段?我不明白。大概你是在某个地方声明处理程序,比如
private final handler handler=new handler()
——在同一个地方,你也要在同一个地方声明
private final Runnable playerValues=new Runnable()
。(或者公共的、受保护的或者其他的)你的意思是我应该把它从函数中去掉,并在函数外定义它??如何将它声明为字段?我不明白。大概你是在某个地方声明处理程序,比如
private final handler handler=new handler()
——在同一个地方,你也要在同一个地方声明
private final Runnable playerValues=new Runnable()
。(或公共的或受保护的或其他的)你的意思是我应该把它从函数中去掉,在函数外定义它??