Чтобы получить выбранное значение из счетчика, вы должны
String selectedValue = spTypeModel.getSelectedItem().toString();
или
String selectedValue = String.valueOf(parent.getAdapter().getItem(position));
вместо
String selectedValue = String.valueOf(position);
Обновление: Измените getItem
метод в вашем пользовательском адаптере на
@Override
public Object getItem(int i) {
return userNames.get(i);
}
Обновление 2: Я видел вашу проблему, пожалуйста, измените ваш код.
private SpinnerAdapter customAdapter;
на
private CustomSpinnerAdapter customAdapter;
, затем добавьте эту строку после добавления новых данных в свой адаптер.
eqIds.addAll(response.body().getData().getEquipmentList().getEquipIds());
customAdapter.notifyDataSetChanged(); // Add this line to notify your adapter about new data
Обновление 3: Из вашего XML-файла, поскольку высота прядильщика равна 18 dp.
- В spinner вы устанавливаете отступ в 4dp (будет 8dp для топа и бота)
- В пользовательском текстовом просмотре вы также устанавливаете заполнение 4dp (будет 8dp для топа и бота)
- Таким образом, у вас есть только равное или меньше 2 dp для отображения текстового содержимого, это очень мало, поэтому вы не можете видеть содержимое.
Вы можете установить высоту вращателя на wrap_content
или сохраните текущую высоту, но удалите отступы из счетчика или из пользовательского текстового представления.Вам решать.