问题很奇怪,此外还发现适配完数据后会默认选中第一个,并且这个默认选中第一个的操作并不是马上执行的,而是一段时候后再执行,并触发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();    }

  看起来像是专门准备了一个函数在数据适配(填充)完后设置默认值的

更多相关文章

  1. Android StaggeredGridLayoutManager布局RecyclerView在滚动状态
  2. Android 的 dex2jar 和 jd-gui 反编译 apk 源代码
  3. Android Menu详解及示例代码
  4. Android与服务端数据交互 Apache Tomcat + MySQL
  5. Android数据解析-----解析json数据
  6. 原创:Android的sqlite数据库需上传服务器,进行更新保存
  7. Android小例子(点击一个按钮,传递数据给另一个页面)
  8. 解决Android横竖屏切换数据丢失问题的方法
  9. Android greenDao数据库的简单使用(一)

随机推荐

  1. Android 富文本编辑器RichEdit,完整demo
  2. 《Android安全机制解析与应用实践》笔记
  3. Android 进程保活招式大全(转)
  4. 移植 C/C++ 代码至 Android 平台经验总结
  5. Android开发者不可或缺的四大工具
  6. Android线程模型
  7. Handler完全重新理解
  8. Study on Android【五】--自定义ContentP
  9. android sdk 安装更新慢:下载android sdk
  10. 配置Vim开发Android详解