事情是这样的。我有一个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来移动图像并且工作得很好。
这就是发生的事情。我的活动开始并输入上面的代码,但第一张图片从未显示过。我匆匆忙忙地看到第二张图片和第三张图片等等。
那么我做错了什么?
感谢您的帮助!
答案 0 :(得分:0)
除此之外可能还有其他问题,但如果您不调用show()
方法,则不会显示Toast:
Toast.makeText(this, "Loading...", Toast.LENGTH_LONG).show();