在一个ActivityA嵌套一个Avtivity1、Avtivity2、Avtivity3等。在Avtivity1显示Dialog时弹出此错误。试了很多种网上的方法,都不行,其实很简单,在你new Dialog时,如下
AlertDialog.Builder builder = new Builder(Avtivity1.this.getParent()); 就可以正常显示了。原理是因为Avtivity1在AvtivityA中是个view,而Dialog必须在Avtivity下才能创建。希望能帮到遇到同样问题的同学。
在ActivityA中嵌套多个Activity时,尝试在Activity1中显示Dialog导致错误。解决方案是在创建Dialog时使用正确的上下文:AlertDialog.Builder(builder=newBuilder(Avtivity1.this.getParent()))。此方法确保Dialog在正确环境中创建,适用于Android开发场景。

4291

被折叠的 条评论
为什么被折叠?



