【发布时间】:2015-10-26 13:18:50
【问题描述】:
我们创建了自定义 Spinner 来修改第一个元素的样式。一切正常,但我们注意到有时不仅第一个元素样式发生了变化……我们尝试调查但没有发现任何问题。
-
自定义微调器的getDropDownView
public View getDropDownView(int position, View convertView, ViewGroup parent) { View row = super.getView(position, convertView, parent); if (row instanceof TextView) { if (position == 0) { ((TextView) row).setTypeface(((TextView) row).getTypeface(), Typeface.ITALIC); } } return (row);}
视觉问题
请您理解为什么会这样吗?
更新 这个想法行不通:
if (position == 0)
{
crossBorderPointName.setTypeface((TextView) row).setTypeface(((TextView) row).getTypeface(), Typeface.ITALIC);
}
else
{
crossBorderPointName.setTypeface((TextView) row).setTypeface(((TextView) row).getTypeface(), Typeface.NORMAL);
}
【问题讨论】:
-
又一个
if witout else...因为 AbsListView 重用了视图...yes, it applies to Spinner, too -
抱歉,您能提供更多信息吗?谢谢
标签: android user-interface textview spinner