在我的 Android 应用程序中,我想将手机上所有可用语言环境的列表放入ListPreference
myPreferenceActivity
中,以便用户可以选择他想要更改货币符号输出的语言。
到目前为止,我已经尝试过:
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
无法读取它。
有任何想法吗?