按钮单击停止运行

时间:2014-10-30 07:56:48

标签: android

我有Runnable并且在播放一些音乐后有两个处理程序用于按钮背景颜色更改。 现在,如何在一个名为stop的按钮单击时停止使用runnable播放的音乐,持续延迟700毫秒。

     handler=new Handler(); 
    runnable = new Runnable() {
    @Override
    public void run() {

    for (int i = 0; i<Uirkeys1.length; i++) {
        final int value = i;
        try {

               Thread.sleep(700);
         } catch (InterruptedException e) {
             e.printStackTrace();
        }
              handler.post(new Runnable() {
            @Override
            public void run() {

        copyView.get(cnt1).getBackground().setAlpha(100);
        ModeSound(Integer.parseInt(CopyMultimap.get(copykey[cnt1]).get(3)));                        
                 }
                 });
                try {   
             Thread.sleep(800);
             } catch (InterruptedException e) {
                 e.printStackTrace();
             }
              handler.post(new Runnable() {
                @Override
                     public void run() 
                  copyView.get(cnt1).getBackground().setAlpha(500);               
                    cnt1++;
                         }
                      });
                          }
                         }
                             };
                 new Thread(runnable).start();
                 cnt1=0;
                    }
                });
}

1 个答案:

答案 0 :(得分:1)

您可以创建一个实现Runnable的类MyRunnable,并在其中创建一个字段

     private boolean stopped = false;
     public void stop() { stopped = true; }

然后你应该检查你的执行循环

        if(!stopped) {..do work..} else return .

您当然可以在MyRunnable对象上调用stop()方法。