吐司和图像未显示

时间:2011-06-18 20:21:16

标签: android dialog

事情是这样的。我有一个zip文件,其中的图像在后台解压缩(使用线程)我从主要的一个开始一个新的Activity来显示这些图像。为了显示第一个图像,我在onResume上调用了这个函数:

public boolean showImage(String validFile){
    File page = new File(validFile);
    System.err.println("Attempting to show " + validFile);
    boolean found = false;
    if (page.exists()){
        System.err.println("Page exist");
        found = true;
    }
    else{           
        System.err.println("Page does not exist");
        long start = System.currentTimeMillis();
        //ProgressDialog loading = ProgressDialog.show(this, "", "Loading....",true);
        Toast.makeText(this, "Loading...", Toast.LENGTH_LONG);
        while (((System.currentTimeMillis() - start) < 5000) && (!found)){              
            if (page.exists()){
                found = true;
                //t.cancel();
                System.err.println("Page found");
            }
            else{
                System.err.println("Page does not exist");
            }
        }
    }       
    if (!found){
        return false;
    }
    else{
        System.err.println("Setting up image");
        ims.setImageDrawable(new  BitmapDrawable(BitmapFactory.decodeFile(validFile)));
        return true;
    }       
}

我想要做的就是在第一张图片解压缩时显示Toast一个进度对话框或者说“正在加载...”。然而,没有显示吐司或图像。现在我知道图像存在有两个原因:1出现设置图像和文件找到的消息,我可以使用fling来移动图像并且工作得很好。

这就是发生的事情。我的活动开始并输入上面的代码,但第一张图片从未显示过。我匆匆忙忙地看到第二张图片和第三张图片等等。

那么我做错了什么?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

除此之外可能还有其他问题,但如果您不调用show()方法,则不会显示Toast:

Toast.makeText(this, "Loading...", Toast.LENGTH_LONG).show();