在Android中我从网上获取json数据。我的列表就像{Name,dial,code}
我有这个
countryinfo = new ArrayList<CountryInfo>();
Countrylist = new ArrayList<String>();
try {
for (String line : result) {
jsonarray= new JSONArray(line);
for (int i = 0; i < jsonarray.length(); i++) {
jsonobject = jsonarray.getJSONObject(i);
CountryInfo conpop = new CountryInfo();
conpop.setName(jsonobject.optString("Name"));
conpop.setIso(jsonobject.optString("dial"));
conpop.setItu(jsonobject.optString("code"));
countryinfo.add(conpop);
Countrylist.add(jsonobject.optString("Name"));
}
}
} catch (Exception e) {
//Log.e("Error", e.getMessage());
e.printStackTrace();
}
我用
Spinner mySpinner = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(MobnoAct.this, android.R.layout.simple_spinner_item, Countrylist);
mySpinner.setAdapter(adapter);
mySpinner.setSelection(0);
但是在微调器中它显示了一个默认的国家名称..但我想要的国家名称将按照语言环境进行。 喜欢: -
Locale defaultLocale = getResources().getConfiguration().locale;
String si=defaultLocale.getCountry();
我怎么能这样做?
答案 0 :(得分:0)
设置适配器并检索默认本地后尝试此操作:
for(String countryName : countryList)
for(CountryInfo country : countryinfo)
if(country.getName().equals(countryName) && country.getCode().toLowerCase().equals(si.toLowerCase()))
mySpinner.setSelection(adapter.getPosition(countryName));
希望这有帮助