Я испытываю странное поведение при переопределении метода getDropDownView ArrayAdapter
. Мне нужно переопределить этот метод, чтобы отобразить правильное строковое значение из моего пользовательского объекта. Вот как выглядит мой адаптер массива:
ArrayAdapter<NoteType> adapter = new ArrayAdapter<NoteType>(this, android.R.layout.simple_spinner_item, lstNoteTypes){
@Override
public View getView(int position, View convertView, ViewGroup parent) {
TextView lbl = (TextView) super.getView(position, convertView, parent);
lbl.setText(getItem(position).getName());
return lbl;
}
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
TextView lbl = (TextView) super.getView(position, convertView, parent);
lbl.setText(getItem(position).getName());
return lbl;
}
};
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Итак, когда я переопределяю getDropDownView
, мой Spinner выглядит так: внизу высота элемента очень маленькая, и это не то, что я хочу:
Но когда я комментирую (или не переопределяю) метод getDropDownView
, тогда он выглядит отлично с стилем по умолчанию, но тогда я не могу вставить требуемое текстовое значение в выпадающие элементы.
Обратите внимание на высоту элементов на обоих изображениях только из-за переопределения getDropDownView
.
Любые предложения? или что мне не хватает в моем коде?