Я использую панель поиска для включения и выключения фонарика для метода l oop в onProgressChanged()
, но когда запускается l oop, он работает, но я не могу изменить значение панели поиска из-за l oop, панель поиска застряла когда l oop начинается. Я много пытался заставить его работать без зависаний, поэтому, когда я снова изменяю значение поисковой строки, он снова запускает l oop, что мне делать?
вызывающий метод
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
value = seekBar.getProgress();
if(value==1)
{
delay=1000;
}
else if(value==2)
{
delay=900;
}
else if(value==3)
{
delay=800;
}
else if(value==4)
{
delay=700;
}
else if(value==5)
{
delay=600;
}
else if(value==6)
{
delay=500;
}
else if(value==7)
{
delay=400;
}
else if(value==8)
{
delay=300;
}
else if(value==9)
{
delay=200;
}
else if(value==10)
{
delay=100;
}
blink();
}
вот метод моргания для fla sh
private void blink()
{
for (int i = 1; i <=300; i++) {
if (flash) {
// params.setFlashMode(Parameters.FLASH_MODE_ON);
flashLightOff();
flash=false;
} else {
// params.setFlashMode(Parameters.FLASH_MODE_OFF);
flashLightOn();
flash=true;
}
try {
Thread.sleep(delay);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}