<PreferenceCategory android:title="@string/prefs_category_connection">
<ListPreference
android:defaultValue="https://example.ru"
android:entries="@array/server_entries"
android:entryValues="@array/server_entries"
android:key="key"
android:summary="%s"
android:title="Серверr" />
</PreferenceCategory>
и списочек со значениями:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="server_entries">
<item>https://example.ru/</item> <!-- prod -->
<item>https://example2.ru/</item> <!-- rc -->
<item>https://example3.ru/</item> <!-- stage -->
</string-array>
</resources>
Мне нужно что бы в списке отображались не URL а короткие названия отличающиеся от URL. Например One Two Three, как это сделать? Я понимаю, что можно взять значение и с помощью :
when(server) {
is One -> что то сделать с https://example.ru/
is Two -> ...
is Three -> ...
}
Но можно ли с помощью xml ListPreference сделать что то на подобие ключ - значение, то. что будет в списке у пользователя одно, а при выборе уже в коде брать значение
так для этого же и сделаны два поля: entries и entryValues я не помню какое именно для отображаемых значений
android:entries="@array/server_entries" меняешь на какой-нибудь android:entries="@array/server_entries_readable" в котором пишешь свои prod, rc, stage и т.д
Блин, что ж я такой невнимательный)
Обсуждают сегодня