我想創建一個簡單的(是/否)對話框的偏好,我跟着這個職位的答案 - creating a DialogPreference from XMLDialogPreference原因錯誤onDisplayPreferenceDialog()
但我得到一個錯誤說
java.lang.IllegalArgumentException: Tried to display dialog for unknown preference type. Did you forget to override onDisplayPreferenceDialog()?
at android.support.v7.preference.PreferenceFragmentCompat.onDisplayPreferenceDialog(PreferenceFragmentCompat.java:647)
at android.support.v7.preference.PreferenceManager.showDialog(PreferenceManager.java:553)
at android.support.v7.preference.DialogPreference.onClick(DialogPreference.java:262)
at android.support.v7.preference.Preference.performClick(Preference.java:1115)
at android.support.v7.preference.Preference.performClick(Preference.java:1100)
at android.support.v7.preference.Preference$1.onClick(Preference.java:170)
at android.view.View.performClick(View.java:4756)
at android.view.View$PerformClick.run(View.java:19749)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
我的XML
<android.support.v7.preference.PreferenceCategory android:title="History & privacy">
<com.game.prefs.views.DialogPref
android:key="pref_clear_search"
android:title="Reset Quests"
android:summary="Reset all quest-progress."
android:dialogMessage="Are you sure you wish to reset your quest progress? This action cannot be undone!"
android:positiveButtonText="Clear Quests"
android:negativeButtonText="Cancel"/>
</android.support.v7.preference.PreferenceCategory>
我的JAVA代碼
public class DialogPref extends DialogPreference {
public DialogPref(Context context, AttributeSet attrs) {
super(context, attrs);
}
}
我在做什麼錯?
我認爲我的回答並不真正有用,所以我會刪除它。但是我找到了兩個可以幫助你的鏈接:[Github上的codepath/android_guides](https://github.com/codepath/android_guides/wiki/Settings-with-PreferenceFragment)和[構建自定義首選項](https://從官方文檔(比較容易,一旦我開始專門尋找... Compat),它說,你必須「指定用戶界面」 - (從開發人員手冊中找到http://developer.android.com/guide/topics/ui/settings.html#Custom)也許這是缺少的一塊?祝你好運! – 0X0nosugar
謝謝,我會試試看,並讓你知道。 – ThunderRoid
@ 0X0nosugar非常感謝這些鏈接,最後想通了 – ThunderRoid