Вы можете составить желаемый список путем понимания списка:
d2=[
{'Name': 'Joe', 'Id': '001', 'Major': 'Math'},
{'Name': 'Kyle', 'Id': '002', 'Major': 'Coms'}
]
d3={x['Name']+" "+x['Id'] : x['Major'] for x in d2}
print (d3)
#{'Joe 001': 'Math', 'Kyle 002': 'Coms'}
Вы можете использовать этот способ, просто сделайте ваш код более простым и понятным.
ArrayAdapter<String> adapter = (ArrayAdapter<String>) spinnerCountry.getAdapter();
int position = adapter.getPosition(obj.getCountry());
spinnerCountry.setSelection(position);
Надеюсь, это поможет.
Я храню отдельный список ArrayList всех элементов в моих спиннерах. Таким образом, я могу сделать indexOf для ArrayList и затем использовать это значение для установки выбора в спиннере.