当我使用getString函数时,为什么我会得到空字符串?

时间:2013-06-29 13:46:08

标签: android

当我第一次运行应用程序时,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>

1 个答案:

答案 0 :(得分:4)

这对我来说似乎是个问题:

android:defaultValue="\n"

为什么在明确将"HH:mm dd-MM-yyyy"设置为"\n"时,您会期望默认值为{{1}}?我建议你改变默认值,看看是否有效......

(我不是Android开发人员,所以也许我错过了一些东西......但这对我来说似乎很明显。)