如何添加定时功能,除非再次单击按钮,否则不会结束?这可以运行一个线程,但它不会重新启动,除非我转到应用程序中的另一个选项卡并返回它。
metroStartBtn.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View view)
{
metronomeOn = !metronomeOn;
if(metronomeOn)
{
final Thread t = new Thread(new Runnable()
{
@Override
public void run()
{
while(!toExit){
// Your code
try {
playSound(getContext(), 1);
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
});
t.start();
}
else
{
toExit = true;
}
}
});
因为在第一次运行之后,toExit为true,因此在之后将不会执行while循环
metroStartBtn.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View view)
{
metronomeOn = !metronomeOn;
if(metronomeOn)
{
final Thread t = new Thread(new Runnable()
{
@Override
public void run()
{
while(metronomeOn){
// Your code
try {
playSound(getContext(), 1);
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
});
t.start();
}
}
});