Вы должны создать собственный ArrayAdapter с вашим собственным макетом.
Вот пример:
public class ShippingMethodSpinnerAdapter extends ArrayAdapter<YourModel> {
public ShippingMethodSpinnerAdapter(@NonNull Context context,
@NonNull List<YourModel> objects) {
super(context, R.layout.shipping_method_spinnert_item, objects);
}
@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
return itemView(position, convertView, parent);
}
@Override
public View getDropDownView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
return itemView(position, convertView, parent);
}
private View itemView(int position, View convertView, ViewGroup parent) {
if(convertView == null) {
convertView = LayoutInflater.from(getContext()).inflate(R.layout.shipping_method_spinnert_item,
parent, false);
}
TextView txtShippingMethod = convertView.findViewById(R.id.txtShippingMethod);
txtShippingMethod.setText(getItem(position).getTitle());
return convertView;
}
}
YourModel может выглядеть примерно так:
public class YourModel {
private String title;
private String value;
public ShippingMethodSpinnerModel(String title, String value) {
this.title = title;
this.value = value;
}
public String getTitle() {
return title;
}
public String getValue() {
return value;
}
}
Затем добавьте этот адаптер к вашему счетчику
spinner.setAdapter(adapter);