DialogFragment入坑及解决

1,623 阅读1分钟

遇到的问题描述

弹出框dialog在有些设备上可以运行,在有些设备会闪退!

问题分析

  • 有些设备闪退,值得是低于23的设备,也就是android6.0以下的设备。

  • 因为采用DialogFragment,而这个DialogFragment依赖的居然是android.app里面的,在低于23设备下onAttach(Context context)方法不执行。

解决方案

  • 方案一:如果是老项目,不想改依赖包,可用下此方法
  • 方案二:采用android.support.v4.app.DialogFragment

结论:两个方案都有效

建议:采用support依赖包

对于TargetApi使用疑问?

如果指定了23,那么对23之后的设备,还会不会执行此方法呢? 请查询targetApi的写法。targetapi注释仅用于lint工具,在运行时没有结果