问题发生在运行弹窗的时候闪退报错,具体到dialog.show(),因为代码我在之前一个程序里用过,它是正常运行的所以不考虑是代码错误,场景差别是一个运行在Activity中,另一个是用在Fragment里,Fragment中的context使用的是全局context。用这个报错在网上找,介绍了两种方法,一个是修改AlertDialog.Builder中传入的Context。另一个是修改AndroidManifest中的Theme,两个都不能解决。最后在一篇博客里找到了解决方法,是导入的包出了问题,导入v4的包就不会报错。花了不少时间记录一下,之前没有从导入包的角度考虑过bug。
参考:You need to use a Theme.AppCompat theme (or descendant) with this activity.异常处理其一_lei_notes的博客-优快云博客