android 选定的微调器集工作不正常

mwkjh3gx  于 2023-01-11  发布在  Android
关注(0)|答案(3)|浏览(94)

我有一个配置文件活动,用户选择那里的国家第一次,之后当用户希望改变国家,他会去配置文件活动,他应该看到以前选择的国家在微调,然后他必须能够选择另一个国家从微调。我试图更新我的配置文件活动,我有一个名为国家在它的微调器。我正在使用设置选定的获得以前选定的值。我正在获得的值,但当我试图改变它没有发生的值。国家_值是字符串以下是微调器的代码:

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) {

}
});
mrzz3bfm

mrzz3bfm1#

OnItemSelected()方法将选择列表中position处的项目。setSelection()将在内部调用onItemSelected()来设置微调框中的选定项目。因此,在onItemselected()内部调用setSelection()将不会对您有所帮助。

mfuanj7w

mfuanj7w2#

尝试以下代码。

@Override
public void onItemSelected(AdapterView<?> **adapterView**, View view,int position, long l) {
**adapterView**.setSelection(Country_listItems.indexOf(country_value));
country_data = Country_listItems.get(position);

}

gjmwrych

gjmwrych3#

您的代码工作正常,但是如果在您设置的数组列表中找不到“country_value”,它将不会在Spinner上设置选择。
Video Link

相关问题