У меня есть «Активность» с тремя изображениями. При нажатии на одно изображение все изображения переключаются на другое изображение. Есть ли способ сделать переключатели такими, чтобы была 2-секундная задержка перед фактическим изменением изображений (т.е. 2-секундная задержка в каждом цикле for ниже)? Я пытаюсь сделать это с помощью таймера, но на самом деле это не приводит к задержке при запуске моей программы:
protected void onCreate(Bundle savedInstanceState) {
image1.setOnClickListener(this);
@Override
public void onClick(View arg0)
{
do_switches();
}
private void do_switches()
{
//loop through all images and change them
for(int j=1 ;j<=3; j++)
{
final int curr2=current;
final Handler handler = new Handler();
Timer t = new Timer();
t.schedule(new TimerTask() {
public void run() {
handler.post(new Runnable() {
public void run() {
switch(curr2){
case 1:
image1.setImageResource(ImageArray[1]);
break;
case 2:
image2.setImageResource(ImageArray[2]);
break;
case 3:
image3.setImageResource(ImageArray[3]);
break;
}
}
});
}
}, 2000);
}
}
Я также пытался использовать только SystemClock.sleep(2000) вместо таймера, но это тоже не сработало. Я также безуспешно пытался настроить поток с помощью try/catch или, возможно, я не реализовал его должным образом. Есть ли способ поставить эту задержку на каждую итерацию моего цикла for? Спасибо