AlertDailog中的which问题

在做一个AlertDialog的点击事件设置的时候:

AlertDialog.Builder(this).apply {
                var numberIndex = 0
                setTitle("choose one")
                setSingleChoiceItems(choice, 0) { _, which -> numberIndex = which}
                setPositiveButton("OK") { dialog, _ ->
                    setCheatResult(true, choice[numberIndex].toInt())//把下一个数字设为自己想要的
                    binding.nextNumberText.text = choice[numberIndex]
                    dialog.dismiss()
                }
                setNegativeButton("Cancle") { dialog, _ ->
                    setCheatResult(false, nextNumber)
                    dialog.dismiss()
                }
                show()
            }

不是很明白接口:

void onClick(DialogInterface dialog, int which)

中的which是什么意思,我一开始以为是在列出来的选项中选择其中一个,然后在setPositiviButton中的which就是选择好的item的下标。后来发现setSing里面的which和setPositivi里的which是不一样的。

setPositive里面的下标永远是-1,搞得我一开始老是数组越界,后来才知道在setSingle里面把下标存好才行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值