【发布时间】:2019-07-22 01:05:04
【问题描述】:
我正在使用相互依赖的微调器。因此,当我在微调器 A 中选择一个值时,其他微调器 B、C、D 的数组列表会相应更改。 当我在微调器 B 的位置 1 处选择项目,然后在微调器 A 中选择任何其他值时,微调器 B 上的数据会更新。所以我再次选择微调器 B 上位置 1 的项目,视图不会改变,而在任何其他位置选择项目会改变视图。所以在这段代码中,相同的索引不会得到更新的值。
ArrayAdapter<String> myAdapterEmployer = new ArrayAdapter<String>(MainActivity.this,
android.R.layout.simple_list_item_1,employerlist);
myAdapterEmployer.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
employer.setAdapter(myAdapterEmployer);
employer.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id)
{
if(position > 0) {
employer1 = employer.getSelectedItem().toString();
employeridname = employdetail.get(employer1);
Sectorlist(employeridname);
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
每次在雇主中选择一个项目时,这都会更改 Sectorlist 的数据。 然后在扇区列表中选择任何项目。
ArrayAdapter<String> myAdaptersector = new ArrayAdapter<String>(MainActivity.this,
android.R.layout.simple_list_item_1,sectorlist);
myAdaptersector.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sector.setAdapter(myAdaptersector);
sector.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id)
{
sector1=sector.getSelectedItem().toString();
String selectedsectortext = (String) parent.getItemAtPosition(position);
if(position > 0){
sectoridd=sectordetail.get(selectedsectortext);
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
在这里,当我选择与之前相同索引的项目时,它不会在微调器视图中更新。
【问题讨论】:
标签: android dynamic spinner android-spinner