Android的微调
问题描述:
您好,我有关于Android微调问题Android的微调
我有一个由array.The数组填充微调是国名和国家电话区号上的每一行的阵列的
部分
<item>355 Albania</item>
<item>213 Algeria</item>
<item>376 Andorra</item>
<item>244 Angola</item>
<item>1264 Anguilla</item>
<item>1268 Antigua and Barbuda</item>
<item>54 Argentina</item>
这是用于填充微调
final Spinner spnCountry = (Spinner) findViewById(R.id.countries);
ArrayAdapter<CharSequence> adpCountry = ArrayAdapter.createFromResource(
this, R.array.countries, android.R.layout.simple_spinner_item);
adpCountry
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spnCountry.setAdapter(adpCountry);
我想告诉O我的Java代码只有国家代码在框中,并且打开微调框以显示每行的国家名称和代码。
有人可以帮助我如何做到这一点?
谢谢
答
加载微调器;
String[] countries = getResources().getStringArray(R.array.countries);
ArrayAdapter<String> adpCountry = new ArrayAdapter<String>();
for(String country : countries)
{
String parts = country.split(" ");
String code = parts[0];
adpCountry.addItem(code);
}
adpCountry.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spnCountry.setAdapter(adpCountry);
选择一个项目;
spnCountry.setOnItemSelectedListener(new OnItemSelectedListener()
{
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int index, long arg3)
{
String country = "";
String[] countries = getResources().getStringArray(R.array.countries);
String selected = countries[index];
String[] parts = selected.split(" ");
for(String part : parts)
{
country += part;
}
TextView txtName = findViewById(R.id.country_name);
txtName.setText(country);
}
@Override
public void onNothingSelected(AdapterView<?> arg0){ /* Unused */ }
});
(出心脏的)
你好,我已经试过你的代码,但有一个错误12-16 15:40:27.961:ERROR/AndroidRuntime(245):java.lang中:致.UnsupportedOperationException 12-16 15:40:27.961:ERROR/AndroidRuntime(245):at java.util.AbstractList.add(AbstractList.java:411) 12-16 15:40:27.961:ERROR/AndroidRuntime(245) :At java.util.AbstractList.add(AbstractList.java:432) 12-16 15:40:27.961:ERROR/AndroidRuntime(245):at android.widget.ArrayAdapter.add(ArrayAdapter.java:178) The方法addItem(String)i s未定义类型ArrayAdapter尝试addItem并添加 –
2010-12-16 13:42:24
另外我想要做的是:当微调显示我想只可见国家代码,当我点击微调和列表打开我想看到国家代码和国家名称 – 2010-12-16 13:58:49
你可以尝试插入(code,adpCountry.getCount())? – Thys 2010-12-16 20:28:14