我正在尝试扩展 DialogPreference ,这样我就可以拥有一个 NumberPicker 喜好。我一直在读:
http://developer.android.com/guide/topics/ui/settings.html#Custom
但是我正在点击'错误,夸大NumberPickerReference'消息。我想我知道 为什么,但我不确定如何解决它。
我的 preferences.xml 如下所示:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<CheckBoxPreference
android:key="pref_alertsEnabled"
android:title="@string/alert_enable"
android:summary="@string/alert_enable_desc"
android:defaultValue="true" />
<NumberPickerPreference
android:key="perf_Timer"
android:title="@string/timer"
android:negativeButtonText="@android:string/cancel"
android:dialogTitle="@string/timer"
android:summary="@string/timer_desc"
android:dialogMessage="@string/timer_desc"
android:positiveButtonText="@android:string/ok"/>
</PreferenceScreen>
在我的项目 src 文件夹中,我有 NumberPickerReference.java。我认为我缺少的是如何告诉Android在哪里找到 NumberPickerReference类。
当读入 preferences.xml 时,我猜它会去寻找 NumberPickerReference类,但却找不到它。
我是否需要指定在哪里找到 NumberPickerReference.class ?如果是,我该怎么做?
BTW,如果我从 preferences.xml
中删除<NumberPickerReferecnes>
项,该应用程序运行正常
答案 0 :(得分:1)
只需添加该首选项的路径:
com.your.package_name.and_path.NumberPickerPreference
E.g。
<com.example.myapp.preferences.NumberPickerPreference
android:key="perf_Timer"
android:title="@string/timer"
android:negativeButtonText="@android:string/cancel"
android:dialogTitle="@string/timer"
android:summary="@string/timer_desc"
android:dialogMessage="@string/timer_desc"
android:positiveButtonText="@android:string/ok"/>