<item value="245">Guinea-Bissau [245]</item >
<item value="592">Guyana [592]</item >
<item value="509">Haiti [509]</item >
<item value="504">Honduras [504]</item >
<item value="91">India [91]</item >
<item value="62">Indonesia [62]</item >
我正在使用此
country.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
// TODO Auto-generated method stub
//selectioncountry = parent.getItemAtPosition(position).toString();
selectionarea = parent.getItemIdAtPosition(position);
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
这段代码给出了印度的价值是4但我需要91我该怎么办 这个???
答案 0 :(得分:8)
private void selectSpinnerValue(Spinner spinner, String myString)
{
int index = 0;
for(int i = 0; i < spinner.getCount(); i++){
if(spinner.getItemAtPosition(i).toString().equals(myString)){
spinner.setSelection(i);
break;
}
}
}
答案 1 :(得分:3)
试试这个。它会正常工作。
int position = adapter.getPosition(value);
spinner.setSelection(position);
答案 2 :(得分:1)
您必须再为选定的国家/地区值添加一个字符串数组:
<string-array name="country">
<item>India</item>
</string-array>
<string-array name="country_value">
<item>91</item>
</string-array>
初始化值数组:
String[] countryValue = getResources().getStringArray(R.array.country_value);
从值数组中获取微调器选定项的相应值:
selectionarea = countryValue[position];
答案 3 :(得分:0)
for(int i = 0; i < country.getCount(); i++){
if(country.getItemAtPosition(i).toString().equals("yourString")){
country.setSelection(i);
break;
}
}
您也可以通过这种方式解决问题,方法是指定您正在搜索的String
,如果您有权访问它。否则,你将不得不遵循Harish Chhelana的方法。
答案 4 :(得分:0)
您始终可以覆盖getItemId(int position)
以返回值,而不是默认位置ID