Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
409 views
in Technique[技术] by (71.8m points)

android - How to pause a few seconds

I want to display images like a slideshow but I can't make it pause for 5 seconds before displaying the next image...

I have tried to make the thread sleep but it paused for 15 seconds and displayed the last (3rd) image.

for (int i = 0; i < 3; i++) {
    File imgFile = new File(paths[i]);

    if(imgFile.exists()){
        Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
        mimage.setImageBitmap(myBitmap);
    }

    //**I want the thread pause for 5 seconds here**
}
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

You need a handler

    Handler handler1 = new Handler();
    for(int i=0;i<3;i++) 
    {
        handler1.postDelayed(new Runnable() {

            @Override
            public void run() 
            {
                File imgFile = new  File(paths[i]);

                if(imgFile.exists())
                {

                    Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
                    mimage.setImageBitmap(myBitmap);
                }
            }
        }, 5000 * i );
    } 

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

2.1m questions

2.1m answers

60 comments

57.0k users

...