DialogPreference - 错误

时间:2011-10-31 19:54:23

标签: android sharedpreferences android-preferences

我正在尝试按如下方式创建对话框首选项

<DialogPreference
    android:key="cachePref"
    android:dialogMessage="Testing message"
    android:dialogTitle="Title Test"
    android:positiveButtonText="positive"
    android:summary="Clear images save to disk"
    android:title="Clear Image Cache" />

但是当活动运行时,强制关闭并出现以下错误

11-01 01:21:18.820: E/AndroidRuntime(19644): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.bakasura/com.bakasura.SettingsPreferences}: android.view.InflateException: Binary XML file line #71: Error inflating class java.lang.reflect.Constructor

1 个答案:

答案 0 :(得分:2)

这看起来像Android Issue 3972: InstantiationException when using DialogPreference

DialogPreference总是一个抽象类,因此它不应该被实例化 - 但反射代码中的错误允许这样做直到Android 1.6。之后,它正确抛出异常。

解决方法是创建一个扩展DialogPreference的自定义类,并将其用作问题的suggested in comment 9