В моем приложении есть угроза, которая загружает некоторые изображения с сервера.
После загрузки изображений они отображаются в диалоговом окне.
Это работает, но если пользователь покидает экран с помощью кнопки «назад», мое приложение падает с выводом logcat:
09-21 09:54:14.553: ERROR/AndroidRuntime(486): android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@4053fb28 is not valid; is your activity running?
Приложение работает до тех пор, пока старое действие не вызовет приведенный ниже код (создание настраиваемого диалогового окна).
Я понял, что там происходит сбой:
Я звоню обработчику после загрузки изображений. В обработчике делаю следующее:
final Dialog dialog = new Dialog(Product.this);
dialog.setContentView(R.layout.imageview_inflator);
dialog.setTitle("Choose a Picture");
dialog.setCancelable(true);
// set up image view
final ImageView img = (ImageView) dialog.findViewById(R.id.imageView);
img.setImageBitmap(ImageLoader.cache.get(pic_url[pictureCounter]));
dialog.show();
Как мне избежать сбоев. Я думаю, что мне следует как-то избегать показа диалогового окна, если не выполняется действие.