gpt4 book ai didi

android - PreferencesActivity 的奇怪异常

转载 作者:行者123 更新时间:2023-11-29 00:50:15 25 4
gpt4 key购买 nike

我对我的 preferences.xml 文件进行了一些编辑,没有在 Eclipse 中生成任何语法标志,现在我在尝试扩展我的 PreferencesActivity 时遇到以下奇怪的错误:

E/AndroidRuntime( 3480): java.lang.RuntimeException: 无法启动 Activity ComponentInfo{com.shipmate/com.shipmate.PreferencesActivity}: java.lang.IllegalArgumentException:无法将 PreferenceCategory 直接添加到 PreferenceCategory

我总是在其他 PreferenceCategory 中有 PreferenceCategory,所以我认为这不是问题所在。它认为我正在将一个 PreferenceCategory“添加”到另一个 PreferenceCategory 是什么意思? XML 中的“添加”是什么意思? IllegalArgument 与此添加有何关系?关于如何隔离此问题的任何想法?

最佳答案

I always have PreferenceCategory's inside other PreferenceCategory's so I don't think that's the problem.

根据我对 Android 源代码的阅读,PreferenceCategory 不能是 PreferenceCategory 的直接子级。此外,您永远不需要它,因为它没有视觉上的好处——让 PreferenceCategory 元素在 XML 中彼此对等,而不是嵌套。

What does it mean that it thinks I'm "adding" one PreferenceCategory to another?

呃,这似乎不言自明。您有一个 PreferenceCategory,并且您正试图将另一个 PreferenceCategory 放入其中。这是通过 PreferenceGroup 上的 addPreference() 方法以代码或通货膨胀完成的。这依次调用 onPrepareAddPreference(),它在 PreferenceCategory 中进行类别中类别检查并抛出异常。

And how does an IllegalArgument relate to this addition?

Android 开发人员选择在这种情况下使用的是 RuntimeException 的特殊风格。例如,他们可以选择 DivideByZeroException,但这会很奇怪。

关于android - PreferencesActivity 的奇怪异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3420139/

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