我有一个配置文件活动,用户选择那里的国家第一次,之后当用户希望改变国家,他会去配置文件活动,他应该看到以前选择的国家在微调,然后他必须能够选择另一个国家从微调。我试图更新我的配置文件活动,我有一个名为国家在它的微调器。我正在使用设置选定的获得以前选定的值。我正在获得的值,但当我试图改变它没有发生的值。国家_值是字符串以下是微调器的代码:
country_adapter_list = new ArrayAdapter(MyProfile.this, R.layout.support_simple_spinner_dropdown_item,Country_listItems);
country = (Spinner) findViewById(R.id.sp_country);
country.setAdapter(country_adapter_list);
country.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int position, long l) {
country.setSelection(Country_listItems.indexOf(country_value));
country_data = Country_listItems.get(position);
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
3条答案
按热度按时间mrzz3bfm1#
OnItemSelected()
方法将选择列表中position
处的项目。setSelection()
将在内部调用onItemSelected()
来设置微调框中的选定项目。因此,在onItemselected()
内部调用setSelection()
将不会对您有所帮助。mfuanj7w2#
尝试以下代码。
}
gjmwrych3#
您的代码工作正常,但是如果在您设置的数组列表中找不到“country_value”,它将不会在Spinner上设置选择。
Video Link