Дело в том что поток с первого раза корректно срабатывает и через цикл я останавливаю этот поток. Потом через какое то время обратно запускаю этот же поток но получаю ошибку
IllegalThreadStateException: Thread already started.
Может я неправильно останавливаю или просто у меня логика неправильная. Нужна помощь.
SlideThread slideThread;
и в onCreate() инициализирую..
slideThread = new SlideThread();
и тут проверка
if (video.getCategory().equals("advertising")) {
if (slideTHread.isAlive){
slideThread.interrupt();
}
}
if (video.getCategory().equals("background")) {
if (!slideThread.isAlive){
slideThread.start();
}
}
//....
public class SlideThread extends Thread {
@Override
public void run() {
super.run();
final List<Banner> bannerList = GlobalData.loadBannerInfo(MainActivity.this);
for (int i = 0; i < bannerList.size(); i++) {
final File file = new File(Application.banner_path + bannerList.get(i).getName());
runOnUiThread(new Runnable() {
@Override
public void run() {
mBannerView.setVisibility(View.VISIBLE);
mBannerView.setImageBitmap(BitmapFactory.decodeFile(file.getAbsolutePath()));
}
});
try {
Thread.sleep(15 * 1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
@Override
public void interrupt() {
super.interrupt();
runOnUiThread(new Runnable() {
@Override
public void run() {
mBannerView.setVisibility(View.GONE);
}
});
}
}
и еще даже после завершения потока, все равно через 15 секунд задержки само срабатывает.
Дайте подсказку что я не так делаю?
Метод start()
у объекта Thread
можно вызвать лишь единожды.
Поэтому либо встраивайте внутрь потока логику запусков-остановок, либо создавайте и запускайте каждый раз новый поток.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Нужно, чтобы textView в фрагменте из Tabbed Acticity менялся в зависимости от даты в календаре, вот код этого окна: Tab1java
Мне понадобилось создать файл в папке, но какие бы методы не пробовал — пишут ошибкуЗвучат они все примерно так: