\ n和\ r \ n在PreferenceScreen中得到相同的结果

时间:2013-08-02 14:10:26

标签: android

我设置了android:defaultValue =“\ n”,但是当我打开PreferenceScreen时,我发现第三个项目已被选中,我认为应该选择第一个项目。

而且,我发现更令人惊讶的事情。即使我选择第三项,但值String newLineValue = prefs.getString(“SetNewLine”,“\ n”)是“\ n”,它应该是“\ r \ n”。

为什么呢?谢谢!

private String GetNewLine(){  
  SharedPreferences prefs =PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
  String newLineValue = prefs.getString("SetNewLine", "\n");  
  if (newLineValue.equals("\n")){
     Toast.makeText(getApplicationContext(),"OK" ,Toast.LENGTH_SHORT).show();
  }
  return newLineValue;
}

array.xml

   <string-array name="NewLine">
        <item>Make new line with \\n</item>
        <item>Make new line with &lt;br/&gt;</item>
        <item>Make new line with \\r\\n</item>
    </string-array>
    <string-array name="NewLine_values">
        <item>\n</item>
        <item>&lt;br/&gt;</item>
        <item>\r\n</item>
    </string-array>    

mypreference.xml

<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/NewLineFormat"
        android:entries="@array/NewLine"
        android:entryValues="@array/NewLine_values"
        android:key="SetNewLine"
        android:summary="@string/NewLineFormatsummary"
        android:title="@string/NewLineFormat"
        android:layout="@layout/mypreference_layout" 
        />

</PreferenceScreen>

0 个答案:

没有答案