Как добавить время ожидания? - PullRequest
0 голосов
/ 06 июля 2018

Фоны всех картинок меняются одновременно.Я должен изменить одну за другой, подождать 5 секунд после каждой фотографии, изменить другую,

ImageView[] imajlar={img1,img2,img3,img4,img5,img6,img7,img8};

for (final ImageView resmi:imajlar) {
//resmi.startAnimation(fadeout);
   new CountDownTimer(16000, 1000) {
   @Override
   public void onTick(long millisUntilFinished) {
        resmi.setBackground(hediye);
        resmi.startAnimation(fadein);
        onPause();
   }

   @Override
   public void onFinish() {

   }
   }.start();

Ответы [ 5 ]

0 голосов
/ 06 июля 2018
int totalImageSize = yourTotalImageCount;

        final Handler mHandler = new Handler();
        mHandler.postDelayed(new Runnable() {

            @Override
            public void run() {
                changeYourImage(totalImageSize);// this will give the position of image to add/remove
                totalImageSize - 1;
                if(totalImageSize > 0)
                mHandler.postDelayed(this, 5000);
            }
        }, 5000);
    }
0 голосов
/ 06 июля 2018

Попробуйте таймер с обработчиком

 Timer timer = new Timer();
            timer.scheduleAtFixedRate(new TimerTask() {
                @Override
                public void run() {

                   //Your code
                }
            }, 0, 5000);
0 голосов
/ 06 июля 2018

Используйте Handler для этого. Я надеюсь, что это поможет вам.

new Handler().postDelayed(new Runnable(){
       @Override
       public void run() {
           changeImage();
       }
}, 5000);
0 голосов
/ 06 июля 2018

Сделай как

Определить массив изображений.

String img[]={img1,img2,img3};

и переменная

int i=0;

теперь в вашем методе

changeImage()
{
if(i<img.length())
{
//Pseudo code(your logic of setting image)
setImage.array[i];
i++;
}
else
{
//This is to start again;
i=0
}
}

Тогда в тебе определился обработчик.

final Handler mHandler=new Handler();
ha.postDelayed(new Runnable() {

    @Override
    public void run() {
       changeImage();

        mHandler.postDelayed(this, 5000);
    }
}, 5000);
0 голосов
/ 06 июля 2018

Попробуйте этот код ..

new Handler().postDelayed(new Runnable() {
    @Override
    public void run() {
        // define your code..
    }
},5000);
...