gpt4 book ai didi

android - 对话框使我的应用程序崩溃

转载 作者:行者123 更新时间:2023-11-30 04:32:15 30 4
gpt4 key购买 nike

在我的应用程序中,我有一个从服务器加载一些图像的威胁。下载图像后,它们将显示在对话框中。这是有效的,但如果用户通过后退按钮离开屏幕,我的应用程序将崩溃并显示以下 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?

应用程序一直运行,直到旧 Activity 调用下面的代码(创建自定义对话框)。

我发现它正在崩溃:下载图像后,我正在调用处理程序。在处理程序中,我执行以下操作:

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

如何避免崩溃。我认为如果 Activity 不是正在运行的 Activity ,我应该以某种方式避免显示对话框。

最佳答案

当您离开 Activity 时,您会收到此错误,因为您的线程仍在运行,它正在调用您的处理程序来显示对话框,而该对话框没有可以在其上显示的 Activity。

您可以通过将对话代码放在 try-catch 中来避免它,因为它会阻止您的应用程序崩溃。

关于android - 对话框使我的应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7497961/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com