Я разрабатываю приложение, и я хочу сделать круг мигающим, когда вы нажмете на кнопку. У меня есть 8 кругов на мой взгляд, и я хочу, чтобы они мигали друг от друга. Я использую этот код:Мигает кружком с нитью и обработчиком, но невозможно остановить его
public void blink(final View id, final int position, final boolean bool) {
final Handler handler = new Handler();
Thread th = new Thread(new Runnable()
{
@Override
public void run() {
final int timeToBlink = 250;
try {
Thread.sleep(timeToBlink);
} catch (Exception e) {
e.printStackTrace();
}
handler.post(new Runnable()
{
@Override
public void run()
{
if (id.getVisibility() == View.VISIBLE) {
id.setVisibility(View.INVISIBLE);
} else {
id.setVisibility(View.VISIBLE);
}
blink(id,position,true);
}
});
}
});
th.setName(Integer.toString(position));
aThread.add(th);
th.start();
где идентификатор идентификатор окружности
, но я не могу перестать мигать с th.interupt
кто-то может помочь мне, пожалуйста?
Добавить логическую переменную, чтобы заблокировать рекурсивный вызов мигания в потоке. – jibysthomas
Я тестирую это, но не работаю – Paul
Почему вы не можете попробовать с анимацией? когда вы закончили мигать, вы можете очистить мигающую анимацию с помощью clearAnimation(); Проверьте это http://stackoverflow.com/questions/4852281/android-how-can-i-make-a-button-flash – jibysthomas