当重写getDropDownView方法时,我遇到了一个奇怪的行为ArrayAdapter
.我需要覆盖此方法,以便从我的自定义对象中显示正确的字符串值.多数民众赞成我的阵列适配器如何:
ArrayAdapteradapter = new ArrayAdapter (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
.
有什么建议?或者我的代码中缺少什么?