Android Spinner填充数据后设置默认值
问题很奇怪,此外还发现适配完数据后会默认选中第一个,并且这个默认选中第一个的操作并不是马上执行的,而是一段时候后再执行,并触发OnItemSelectedListener事件。
旧代码:
spinner.setAdapter(adapter);
spinner.setSelection(2);
新代码:
spinner.setAdapter(adapter); spinner.setSelection(2,true);
以下是两个函数的源代码:
/** * Jump directly to a specific item in the adapter data. */ public void setSelection(int position, boolean animate) { // Animate only if requested position is already on screen somewhere boolean shouldAnimate = animate && mFirstPosition <= position && position <= mFirstPosition + getChildCount() - 1; setSelectionInt(position, shouldAnimate); } @Override public void setSelection(int position) { setNextSelectedPositionInt(position); requestLayout(); invalidate(); }
看起来像是专门准备了一个函数在数据适配(填充)完后设置默认值的
正在学习Android Developing