当我第一次运行应用程序时,dateFormat的值为空, 我很惊讶,dateFormat应该返回默认值“HH:mm dd-MM-yyyy”
SharedPreferences prefs =PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
String dateFormat=dateFormat("SetDate", "HH:mm dd-MM-yyyy");
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
android:key="AppPreference"
android:summary="@string/Preferencesummary"
android:title="@string/Preference" >
<ListPreference
android:defaultValue="\n"
android:dialogTitle="@string/DateFormat"
android:entries="@array/Mydate"
android:entryValues="@array/Mydate_values"
android:key="SetDate"
android:summary="@string/DateFormatsummary"
android:title="@string/DateFormat"
android:layout="@layout/mypreference_layout"
/>
</PreferenceScreen>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="Mydate">
<item>HH:mm dd-MM-yyyy</item>
<item>HH:mm MM-dd-yyyy</item>
<item>yyyy-MM-dd HH:mm</item>
</string-array>
<string-array name="Mydate_values">
<item>HH:mm dd-MM-yyyy</item>
<item>HH:mm MM-dd-yyyy</item>
<item>yyyy-MM-dd HH:mm</item>
</string-array>
</resources>
答案 0 :(得分:4)
这对我来说似乎是个问题:
android:defaultValue="\n"
为什么在明确将"HH:mm dd-MM-yyyy"
设置为"\n"
时,您会期望默认值为{{1}}?我建议你改变默认值,看看是否有效......
(我不是Android开发人员,所以也许我错过了一些东西......但这对我来说似乎很明显。)