8

与 SeekBarPreference 有什么关系?让我展开...

如果我在我的 PreferenceScreen xml 中放置一个 SeekBarPreference,它可以正常工作(我可以在手机和模拟器上运行它),但 Android Studio 报告“此处不允许使用 Element SeekBarPreference。简单的 XML 显示了这一点:

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

<SeekBarPreference
    android:key="fontSize"
    android:title="@string/fontSize_title"
    android:summary="@string/fontSize_summary"
    android:max="12"
    android:defaultValue="4" />

</PreferenceScreen>

如果我尝试扩展 SeekBarPreference(这是我真正想做的),Android StudioCannot resolve symbol SeekBarPreferenceimport. extends显示此内容的简单 Java 文件:

import android.preference.SeekBarPreference;

public class FontSizePreference extends SeekBarPreference {}

(如果我只是SeekBarPreference sbp;在代码中使用也会发生。)

SeekBarPreference 的源代码在 中/Sdk/sources/android-22/android/preference,就像 EditTextPreference 一样。我看不出它有什么特别之处。

不过,我在 developer.android.com 上找不到任何关于它的文档。

我错过了哪些信息?与 EditTextPreference 相比,它有什么特别之处?EditTextPreference 可以包含在 XML 中,并且可以毫无问题地在代码中扩展和使用?

4

1 回答 1

1

我有类似的问题,这对我有用:

而不是使用:

<PreferenceScreen/>

尝试使用:

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

它就像一个魅力。它只是暗示所有这些在使用支持库时效果最好。因此,在您的自定义搜索栏中,您可能需要导入:

android.support.v7.preference.SeekBarPreference
于 2019-01-22T09:16:07.537 回答