Как описано в принятый ответ вопроса, на который ссылается @GursewakSingh, вам необходимо создать кастомный адаптер и реализовать getView() и getDropdownView(), чтобы возвращать разные представления.
В вашем случае вам нужно, чтобы getView() возвращал представление, которое показывает только изображение флага, а getDropdownView() возвращало представление, которое показывает флаг и название страны.
В представлении счетчика будет использоваться getView() для отображения обычного представления счетчика и getDropdownView() для отображения элементов раскрывающегося списка.
спасибо за ответ, но не могли бы вы дать мне пример кода, я хочу отображать только изображение на счетчике
Используйте это, надеюсь, он отлично работает
// array of data icons from source
private static Integer[] imageIcons = { R.drawable.a, R.drawable.b,
R.drawable.c };
// call adapter from main class
SimpleImageArrayAdapter adapter = new SimpleImageArrayAdapter(context, imageIcons );
spinner.setAdapter(adapter);
// adapter class
public class SimpleImageArrayAdapter extends ArrayAdapter<Integer> {
private Integer[] images;
SimpleImageArrayAdapter(Context context, Integer[] images) {
super(context, android.R.layout.simple_spinner_item, images);
this.images = images;
}
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
return getImageForPosition(position);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
return getImageForPosition(position);
}
private View getImageForPosition(int position) {
ImageView imageView = new ImageView(getContext());
imageView.setBackgroundResource(images[position]);
imageView.setLayoutParams(new AbsListView.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
return imageView;
}
}
}
У меня есть 2 списка, один для имени и один для флага страны
выполните ту же процедуру, используя строковый массив с названием страны. используйте другой адаптер
попробуйте это stackoverflow.com/questions/24422236/…