1
在我的Android應用程序中,我想將手機上所有可用語言環境的列表放入我的PreferenceActivity
中的ListPreference
,以便用戶可以選擇他想要更改貨幣符號的輸出。將Locale []轉換爲CharSequence []放置在Android應用程序的ListPreference中
到目前爲止,我已經試過這樣:
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
無法讀取它。
有什麼想法?
YOu是正確的,那麼我應該查找ListPreference的值呢?不是這樣的:android:key =「list」 –
@zeroFiG:我不能說我自己曾經做過任何Android開發,所以我真的在猜測......但是你有沒有調用過'addPreferencesFromResource'? –
是的,我做了,我編輯我的代碼,以添加上面的額外行。 –