android spinner 调用onItemSelectedListener的思考

在接手项目时遇到Spinner自动调用OnItemSelectedListener的困扰。尝试在onCreate()中设置selection并避免回调,但未成功。解决方案是通过设置标志位判断是否首次进入,如果是则忽略,否则执行相关代码。
摘要由CSDN通过智能技术生成

由于项目从别人手中接收,所以很多暗坑自己不知道,于是今天先总结一个。

在使用spinner的过程中,我们设置了setOnItemSelectedListener,来实现选择条目的操作,当我们在onCreate()中实现spinner的相关方法时,总是发现spinner会调用一次自己的OnItemSelectedListener中的onItemSelected()回调方法。这个很苦恼,于是先尝试在设置监听器以前调用setSecelction(0,true),结果发现还是屏蔽不了,true改成false也是不行。

那么我们这几条路走不通,于是就设置个标志位,定义一个boolean变量,在回调onItemSelected()前先判断下是否是第一次进入,如果是则直接屏蔽,否则再去执行后续的代码,这个不失为一种好方法!

我简单的用代码表示一下,就到这里。

  private boolean isFirst = true;
  ......
  	// areaSp是你所定义的spinner
   areaSp.setOnItemSelec
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值