Android Spinner默认值设置为空

下拉控件Spinner默认显示列表第一个内容

C2660F3A-F267-435B-8875-B226424A5C0F.png

设置默认值为空

 boolean b = true;
 private Spinner mSp_game_name;
 mSp_game_name.setOnItemSelectedListener(new OnItemSelectedListener() {

            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                if (b) {
                    // 主要功能代码;
                    view.setVisibility(View.INVISIBLE);
                } else {
                    //获取到对象
                    PhotoEntity photoEntity = (PhotoEntity)mSp_game_name.getSelectedItem();
                }
                b = false;

            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {
                // TODO Auto-generated method stub

            }
        });

2.设置完成后,达到我们的预期的效果了

C8D9D497-2581-40A4-9EF7-BF403DDF0814.png

3.问题:此时点击“守望先锋”无任何反应,点击其他选项是没有问题的
4.解决:Spinner设置完适配器数据后(这里必须先给适配器设置数据),然后调用Spinner.setSelection(2, true);这样导致点击第二项是没反应的。

总结:
Spinner默认已经选择了第一项(回调了setOnItemSelectedListener函数),所以导致再次点击第一项是没反应,Spinner.setSelection(2, true)使Spinner默认选择第二项,导致再次点击第二项没反应,点击其他选项是有反应的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,923评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,282评论 25 708
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,523评论 0 17
  • 使用sketch最重要的一点是设计好控件的规范。 为做好设计规范需要对色彩进行编号,比如:color_a”_1,c...
    youyeath阅读 26,273评论 2 237
  • 这张照片是去年拍的。 这是财经学院和集美小学之间的一条路。 感兴趣的朋友可以画画看。 点击下方蓝色链接了解更多详细...
    谷雨一一阅读 205评论 0 0