【问题标题】:How to pause a few seconds如何暂停几秒钟
【发布时间】:2015-08-04 15:03:30
【问题描述】:

我想像幻灯片一样显示图像,但我不能让它在显示下一张图像之前暂停 5 秒...

我试图让线程休眠,但它暂停了 15 秒并显示了最后(第 3 个)图像。

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**
}

【问题讨论】:

    标签: android


    【解决方案1】:

    你需要一个处理程序

        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 );
        } 
    

    【讨论】:

    • 暂停后仍然只显示最新的图像
    • @Harish 正确地用5000 * i 编辑了我的代码的最后一行 - 您是否将其包含在您的测试中?
    • @Smittey 啊!不,我没有。我在你的回答中注意到的第一件事是你的处理程序的延迟持续时间,我觉得它有问题:)
    【解决方案2】:

    试试这个:

    public class YourClass {
        private String[] paths;
        private int mNextImageIndex = 0;
    
        public void switch() {
    
    
            File imgFile = new  File(paths[mNextImageIndex]);
    
            if(imgFile.exists()){
    
                Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
                mimage.setImageBitmap(myBitmap);
            }
    
            mNextImageIndex = (mNextImageIndex + 1) % paths.length;
    
            new Handler().postDelayed(new Runnable() {
                public void run() {
                    switch();
                }
            },5000);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2020-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多