У меня есть ListPreference для выбора языков.Текущие trnalsations определены в их собственном strings.xml, как видно на рисунке.Чтобы заполнить список предпочтений, я включаю элементы string-array в основной strings.xml, делая его статической конфигурацией.
Вопрос: есть ли способ сделать динамическую Language ListPreference, перебирая все strings.xml и извлекая из них информацию Locale, как во время выполнения?
Это текущая статическая настройка:
values / strings / strings.xml
<resources>
<!-- Preferences -->
<string name="pref_language">Language</string>
<string-array name="pref_language_list">
<item>English</item>
<item>Svenska</item>
<item>Deutsch</item>
<item>Français</item>
<item>Português</item>
<item>Español</item>
<item>Pусский</item>
</string-array>
<string-array name="pref_language_values">
<item>en</item>
<item>se</item>
<item>de</item>
<item>fr</item>
<item>pt</item>
<item>es</item>
<item>ba</item>
</string-array>
</resources>
xml / pref_general.xml
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<ListPreference
android:entries="@array/pref_language_list"
android:entryValues="@array/pref_language_values"
android:key="language"
android:title="@string/pref_language"
android:icon="@drawable/language"
/>
</PreferenceScreen>