我正在尝试扩展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吗?如果是,我该怎么做?

顺便说一句,如果我从preferences.xml中删除<NumberPickerReferecnes>项目,则该应用程序运行良好

最佳答案

只需将路径添加到该首选项即可:

com.your.package_name.and_path.NumberPickerPreference


例如。

<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"/>

10-05 18:07