Я хочу сделать «поиск» текста, который будет выглядеть так: «Загрузка». -> "Загрузка .."-> "Загрузка ..."
а затем, как только я получу определенные данные, остановите этот анимационный текст и просто установите текст как «Найдено».
Я попытался реализовать это следующим образом:
ExecutorService threadPoolExecutor = Executors.newSingleThreadExecutor();
Future textAnimationTaskFuture;
Runnable textAnimationTask;
textAnimationTask = new Runnable() {
@Override
public void run() {
int passedTime = 0;
while(passedTime < 3000)
{
if(passedTime < 1000){
textView.setText("Loading.");
}
else if(passedTime >= 1000 && passedTime < 2000 )
{
textView.setText("Loading..");
}else if (passedTime >= 3000)
{
textView.setText("Loading...");
}
passedTime = passedTime + 1;
if( passedTime == 3000 )
passedTime = 0;
}
}
};
И тогда я бы запустил процесс:
textAnimationTaskFuture = threadPoolExecutor.submit(textAnimationTask);
И отменить его:
textAnimationTaskFuture.cancel(true);
textView.setText("Found.);
К сожалению, цикл не останавливается при отмене (true).