В моем приложении для Android я хочу поместить список всех доступных локалей на телефоне в ListPreference
в моем PreferenceActivity
, чтобы пользователь мог выбрать, какой из них он хочет изменить, вывод символа валюты.
Пока я пробовал это:
addPreferencesFromResource(R.xml.preferences);
PreferenceScreen root = getPreferenceManager().createPreferenceScreen(this);
ListPreference listPref = (ListPreference) root.findPreference("list");
Locale[] availableLocales = Locale.getAvailableLocales();
CharSequence[] entries = new CharSequence[Locale.getAvailableLocales().length];
CharSequence[] entriesVal = new CharSequence[Locale.getAvailableLocales().length];
for (int i = 0; i < entriesVal.length; i++) {
entries[i] = availableLocales[i].getDisplayCountry();
entriesVal[i] = Integer.toString(i);
}
listPref.setEntries(entries);
listPref.setEntryValues(entriesVal);
Я получаю исключение JavaNullPointer в этой строке listPref.setEntries(entries);
, поэтому я считаю, что я не сформировал CharSequence
должным образомпоэтому ListPReference
не может его прочитать.
есть идеи?