【发布时间】:2013-04-24 20:29:56
【问题描述】:
我正在处理通过崩溃报告服务 Crashlytics 发现的问题。
此应用正在使用片段。我的活动:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
当 super.onCreate 行运行时,我在崩溃时看到此错误:
Unable to instantiate fragment com.example.Fragments.r: make sure class name exists, is public, and has an empty constructor that is public
仔细查看它在寻找 com.example.Fragments.r 的文件。什么文件是“r”。我确实有一个名为 Fragments 的包,里面有很多片段类。我在 Fragments 包中没有名为 r.java 的文件,我也从未尝试过实例化 r.java 中的类。
就像我说的,这是 Crashlytics 发现的崩溃,我无法重现它,但它经常发生。另一个有趣的事情是,大多数崩溃似乎都发生在三星 Galaxy 手机和 HTC One 上。
我所有现有的片段都是公共的,并且有空的公共构造函数,尤其是被这个活动调用的那些。
感谢您的帮助!
分贝
【问题讨论】:
-
@Egor 呃,你可能是对的,现在检查。 Crashlytics 应该为我将这些转换回来。
-
@Egor 将您的评论放入某种答案中,我会选择它。您的提示将我发送到映射文件中,这不仅将我引导至片段,而且指示我在片段中构建的 FragmentDialog 覆盖类,该类具有填充的而非空的构造函数。我敢打赌,当我清理它时,它会清理崩溃。谢谢!
-
会这样做,很高兴这个建议奏效了。