在Android中使用自定义XML元素时,我收到一条警告,指出该元素不被允许。我该如何正确处理它?

时间:2018-05-09 05:01:35

标签: android xml

我们很清楚,代码运行正常。

我在Android开发方面有点新手。具体情况是我的Android应用程序中有一个首选项屏幕,我创建了一些自定义首选项,因为提供的首选项并不能完全满足我的需求。

假设我有一个像这样的偏好屏幕:

<PreferenceScreen
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:key="root">

    <CheckBoxPreference
        android:defaultValue="@bool/some_default_value"
        android:key="some_key"
        android:title="Some title" />

    <myPackageName.FoobarPreference
        android:defaultValue="Some default value"
        android:key="some_other_key"
        android:title="Configure foobars" />

    <myPackageName.EvilPreferenceOfDoom
        android:defaultValue="Some other default value"
        android:key="yet_another_key"
        android:title="Configure other foobars" />

</PreferenceScreen>

其中FoobarPreference和EvilPreferenceOfDoom是我创建的自定义首选项。警告说“此处不允许元素myPackageName.FoobarPreference”和“此处不允许元素myPackageName.EvilPreferenceOfDoom”。有没有办法妥善处理这些警告,还是我应该压制它们?

1 个答案:

答案 0 :(得分:0)

尝试将 PreferenceScreen 替换为首选项XML文件的根标记中的 android.support.v7.preference.PreferenceScreen

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.preference.PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
android:key="root">

<CheckBoxPreference
    android:defaultValue="1"
    android:key="some_key"
    android:title="Some title" />

<myPackageName.FoobarPreference
    android:defaultValue="Some default value"
    android:key="some_other_key"
    android:title="Configure foobars" />

<myPackageName.EvilPreferenceOfDoom
    android:defaultValue="Some other default value"
    android:key="yet_another_key"
    android:title="Configure other foobars" />

</android.support.v7.preference.PreferenceScreen>