java как сделать периодическое выполнение задачи в потоке?
написал вот такой код, но он не работает. Скажите пожалуйста как сделать так что-бы работало? Я создал поток thread в котором изменяю прозрачность изображения раз в секунду, но у меня почемуто ничего не изменяется.
public class MainActivity extends Activity {
float ff = 0.0f;
public ImageView fon01;
public TextView text1;
public Intent intent;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); //or LANDSCAPE
intent = new Intent(this, menu_activity.class);
text1 = findViewById(R.id.text1);
fon01 = findViewById(R.id.fon_0);
thread.start();
} // --------Exit onCreate
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
if (ff < 1) {
ff += 0.1f;
} else {
// onIntent();
}
fon01.setAlpha(ff);
}
}
});
public void onIntent() {
thread.isInterrupted();
startActivity(intent);
}
}
Ответы (1 шт):
Автор решения: dmtr
→ Ссылка
Потому что вы пытаетесь инкрементировать значения в блоке, который обработается только, если возбудится исключение.
catch (InterruptedException e) {
if (ff < 1) {
ff += 0.1f;
} else {
// onIntent();
}
fon01.setAlpha(ff);
}
Перенесите это в блок try