Дело в том, как это. У меня есть zip-файл с изображениями, которые распаковываются в фоновом режиме (с помощью темы). Я запускаю новую операцию из основного, чтобы показать эти изображения. Чтобы показать первое изображение, я вызываю эту функцию на 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 для перемещения по изображениям и работать просто отлично.
Вот что происходит. Моя активность начинается и вводит код выше, но первое изображение никогда не показывается. Я бросаюсь и вижу второе изображение и третье и так далее.
Так что я делаю не так?
Спасибо за любую помощь!