Fil*_*eOS 12 android android-spinner
我搜索了很多,但我找到的东西有点困惑.
我需要获取android国家/地区列表并设置默认用户区域设置.
例如:我正在注册一个用户帐户,我需要插入该国家/地区,该微调器将显示所有国家/地区,但默认情况下将显示为我的默认语言环境.
现在我有:
private Spinner spCountry;
private String array_spinner[];
Run Code Online (Sandbox Code Playgroud)
...
spCountry = (Spinner) findViewById(R.id.spCountry);
array_spinner = new String[1];
array_spinner[0] = "Portugal";
ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, array_spinner);
spCountry.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)
谢谢大家的帮助!
小智 33
至于我,我迭代可用的Locales并将每个项添加到arrayList中.当然,我必须忽略重复和空字符串.这是我的代码:
Locale[] locale = Locale.getAvailableLocales();
ArrayList<String> countries = new ArrayList<String>();
String country;
for( Locale loc : locale ){
country = loc.getDisplayCountry();
if( country.length() > 0 && !countries.contains(country) ){
countries.add( country );
}
}
Collections.sort(countries, String.CASE_INSENSITIVE_ORDER);
Spinner citizenship = (Spinner)findViewById(R.id.input_citizenship);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, countries);
citizenship.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)
您可以使用
private static final String DEFAULT_LOCAL = "Portugal";
Run Code Online (Sandbox Code Playgroud)
然后使用它来设置默认选择,如下所示.
ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, array_spinner);
spCountry.setAdapter(adapter);
spCountry.setSelection(adapter.getPosition(DEFAULT_LOCAL));
Run Code Online (Sandbox Code Playgroud)
OUTPUT:

更新:
创建arrays.xml于res/values
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="country_arrays">
<item>Malaysia</item>
<item>United States</item>
<item>Indonesia</item>
<item>France</item>
<item>Italy</item>
<item>Singapore</item>
<item>New Zealand</item>
<item>India</item>
<item>Portugal</item>
</string-array>
</resources>
Run Code Online (Sandbox Code Playgroud)
然后使用以下内容activity获取所有国家/地区.
array_spinner = getResources().getStringArray(R.array.country_arrays);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26649 次 |
| 最近记录: |