Я не уверен, правильно ли я понимаю вашу проблему, но если вы пытаетесь представить несколько опций размера в ListPreference, вы должны добавить записи в виде массива.
Вот пример.Третья строка устанавливает предварительно выбранное значение:
ListPreference fontSize = new ListPreference(this);
fontSize.setEntries(R.array.font_sizes_displayed);
fontSize.setEntryValues(R.array.font_sizes);
fontSize.setValue("12");
Вам необходимо создать файл массива "array.xml" в res \ values:
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<string-array name="font_sizes_displayed">
<item>10 pt</item>
<item>12 pt</item>
<item>14 pt</item>
</string-array>
<string-array name="font_sizes">
<item>10</item>
<item>12</item>
<item>14</item>
</string-array>
</resources>
Конечно, вы можетеиспользовать один и тот же массив дважды.Вы также можете написать это программно:
proxyType.setEntries(new String[]{"10", "12", "14"});
proxyType.setEntryValues(new String[]{"10", "12", "14"});
И чтобы получить доступ к нему в другом месте вашего кода, вы найдете предпочтение по ключу и получите значение, например, так:
ListPreference fontSizePref = (ListPreference) findPreference("preferenceKey");
fontSizePref.getValue();