Android 添加另一个EditTextPreference时使用FC

Android 添加另一个EditTextPreference时使用FC,android,sharedpreferences,Android,Sharedpreferences,我有一个有效的XML首选项,但当我将其添加到另一个EditTextPreference时,首选项活动将继续: <PreferenceCategory android:title="Prochain vidange"> <EditTextPreference android:name="Prochain vidange" android:summary="Prochain vidange:" android:defaultValue

我有一个有效的XML首选项,但当我将其添加到另一个EditTextPreference时,首选项活动将继续:

<PreferenceCategory android:title="Prochain vidange">
<EditTextPreference
        android:name="Prochain vidange"
        android:summary="Prochain vidange:"
        android:defaultValue=""
        android:numeric="integer|decimal"
        android:title="Prochain vidange:"
        android:key="proch" />
</PreferenceCategory>
这个奇怪的FC有什么问题? 多谢各位

示例阵列:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="notif">
 <item>Chaque jour</item>
 <item>Chaque semaine</item>
 <item>Chaque mois</item>
</string-array>

<string-array name="notif_return">
 <item>0</item>
 <item>1</item>
 <item>2</item>
 </string-array>
</resources>

是否将其中一个数组设置为整数数组?android:entries=@array/blah

有一个已知的错误,您必须为xml首选项使用字符串数组。对不起

编辑


您也可以将EditTextPreference设置为整型,但设置的默认值可以是字符串。

java.lang.ClassCastException:java.lang。Integer@Blundell:我不理解你,抱歉,请阅读我的答案:-并检查strings.xml或arrays.xmlcheck 08-16 14:23:15.639:ERROR/AndroidRuntime880:at carbonant.android.com.Vidange.onCreateVidange.java:45,对吗?我不擅长阅读日志,但你的错误应该在那里,不是吗?@Rob:addPreferencesFromResourceR.xml.vidange;我所有的数组都是字符串值和返回值。问题是我在添加first EditTextPreferenceProchProchProblem时遇到了FC问题,我的偏好混乱。但我始终无法为EditTextPreference设置值:。如果您还记得的话,我打开了一个主题。那么您是否尝试将默认值设置为0?查找它;。我选择另一种方法:EditTextPreference myEditTextPreference=EditTextPreference findPreferenceproch;myEditTextPreference.setTextz;
08-16 14:23:15.639: ERROR/AndroidRuntime(880): FATAL EXCEPTION: main
08-16 14:23:15.639: ERROR/AndroidRuntime(880): java.lang.RuntimeException: Unable to start activity ComponentInfo{carburant.android.com/carburant.android.com.Vidange}: java.lang.ClassCastException: java.lang.Integer
08-16 14:23:15.639: ERROR/AndroidRuntime(880):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
08-16 14:23:15.639: ERROR/AndroidRuntime(880):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
08-16 14:23:15.639: ERROR/AndroidRuntime(880):     at android.app.ActivityThread.access$1500(ActivityThread.java:117)
08-16 14:23:15.639: ERROR/AndroidRuntime(880):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
08-16 14:23:15.639: ERROR/AndroidRuntime(880):     at android.os.Handler.dispatchMessage(Handler.java:99)
08-16 14:23:15.639: ERROR/AndroidRuntime(880):     at android.os.Looper.loop(Looper.java:123)
08-16 14:23:15.639: ERROR/AndroidRuntime(880):     at android.app.ActivityThread.main(ActivityThread.java:3683)
08-16 14:23:15.639: ERROR/AndroidRuntime(880):     at java.lang.reflect.Method.invokeNative(Native Method)
08-16 14:23:15.639: ERROR/AndroidRuntime(880):     at java.lang.reflect.Method.invoke(Method.java:507)
08-16 14:23:15.639: ERROR/AndroidRuntime(880):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
08-16 14:23:15.639: ERROR/AndroidRuntime(880):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
08-16 14:23:15.639: ERROR/AndroidRuntime(880):     at dalvik.system.NativeStart.main(Native Method)
08-16 14:23:15.639: ERROR/AndroidRuntime(880): Caused by: java.lang.ClassCastException: java.lang.Integer
08-16 14:23:15.639: ERROR/AndroidRuntime(880):     at android.app.ContextImpl$SharedPreferencesImpl.getString(ContextImpl.java:2810)
08-16 14:23:15.639: ERROR/AndroidRuntime(880):     at android.preference.Preference.getPersistedString(Preference.java:1256)
08-16 14:23:15.639: ERROR/AndroidRuntime(880):     at android.preference.EditTextPreference.onSetInitialValue(EditTextPreference.java:154)
08-16 14:23:15.639: ERROR/AndroidRuntime(880):     at android.preference.Preference.dispatchSetInitialValue(Preference.java:1172)
08-16 14:23:15.639: ERROR/AndroidRuntime(880):     at android.preference.Preference.onAttachedToHierarchy(Preference.java:984)
08-16 14:23:15.639: ERROR/AndroidRuntime(880):     at android.preference.PreferenceGroup.addPreference(PreferenceGroup.java:156)
08-16 14:23:15.639: ERROR/AndroidRuntime(880):     at android.preference.PreferenceGroup.addItemFromInflater(PreferenceGroup.java:97)
08-16 14:23:15.639: ERROR/AndroidRuntime(880):     at android.preference.PreferenceGroup.addItemFromInflater(PreferenceGroup.java:38)
08-16 14:23:15.639: ERROR/AndroidRuntime(880):     at android.preference.GenericInflater.rInflate(GenericInflater.java:488)
08-16 14:23:15.639: ERROR/AndroidRuntime(880):     at android.preference.GenericInflater.rInflate(GenericInflater.java:493)
08-16 14:23:15.639: ERROR/AndroidRuntime(880):     at android.preference.GenericInflater.inflate(GenericInflater.java:326)
08-16 14:23:15.639: ERROR/AndroidRuntime(880):     at android.preference.GenericInflater.inflate(GenericInflater.java:263)
08-16 14:23:15.639: ERROR/AndroidRuntime(880):     at android.preference.PreferenceManager.inflateFromResource(PreferenceManager.java:251)
08-16 14:23:15.639: ERROR/AndroidRuntime(880):     at android.preference.PreferenceActivity.addPreferencesFromResource(PreferenceActivity.java:262)
08-16 14:23:15.639: ERROR/AndroidRuntime(880):     at carburant.android.com.Vidange.onCreate(Vidange.java:45)
08-16 14:23:15.639: ERROR/AndroidRuntime(880):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
08-16 14:23:15.639: ERROR/AndroidRuntime(880):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
08-16 14:23:15.639: ERROR/AndroidRuntime(880):     ... 11 more
08-16 14:23:15.688: WARN/ActivityManager(61):   Force finishing activity carburant.android.com/.Acceuil
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="notif">
 <item>Chaque jour</item>
 <item>Chaque semaine</item>
 <item>Chaque mois</item>
</string-array>

<string-array name="notif_return">
 <item>0</item>
 <item>1</item>
 <item>2</item>
 </string-array>
</resources>