Android 最简单解决代码初始化Spinner选中会触发onItemSelected

Android 代码初始化Spinner选中会触发onItemSelected

问题描述

在开发中遇到当进入页面,给予Spinner一个默认值的时候,会触发我们的onItemSelected监听事件。由于我的设计要求是在spinner中选中一个item时会关闭当前页面。导致我一打开页面就关闭了,好气哟。

解决方案

kotlin代码

首先,我们新建一个变量,这个变量就是你需要初始化的值

var defaultValue = 2

然后,初始化Spinner默认值

spinner.setSelection(defaultValue)

接着,写监听

spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener{
            override fun onNothingSelected(p0: AdapterView<*>?) {}
            override fun onItemSelected(p0: AdapterView<*>?, p1: View?, p2: Int, p3: Long) {
                // 如果选中目标是你的初始化的值,就不管它,并且将初始化值搞成永远不会碰上的值
                if (p2 == defaultValue) {
                    defaultValue = -1
                    return
                }
                // todo 执行你真正的业务
            }
        }

完事

发布了103 篇原创文章 · 获赞 31 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/sinat_38184748/article/details/103204476