我设置了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 <br/></item>
<item>Make new line with \\r\\n</item>
</string-array>
<string-array name="NewLine_values">
<item>\n</item>
<item><br/></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>