gpt4 book ai didi

android - setChecked(false) 和 setChecked(true) 一样吗?

转载 作者:搜寻专家 更新时间:2023-11-01 08:32:24 25 4
gpt4 key购买 nike

我在 group 中使用 android:checkableBehavior="single",这个组包含几个项目,这些项目代表内容过滤器,没有默认过滤器(这意味着并不总是必须要选中一个项目,至少是我想要的),如果我单击一个过滤器并想禁用它,我可以再次单击它,我的期望是通过使用 setChecked(false) 该项目将取消选中。

然而,it looks like :

For checkableBehavior="single" setChecked() will always check the menu item even if parameter is 'false' because of Google implementation.

我明显的解决方案是添加一个 no filter 项目,用户可以选中该项目以指示他们不需要过滤器,但选中和取消选中同一项目似乎更直观,它还有另一种方法可以setChecked(false)吗?

最佳答案

Google 在 MenuItemImpl 中的脑死亡实现(从 Nougat 开始):

@Override
public MenuItem setChecked(boolean checked) {
if ((mFlags & EXCLUSIVE) != 0) {
// Call the method on the Menu since it knows about the others in this
// exclusive checkable group
mMenu.setExclusiveItemChecked(this);
} else {
setCheckedInt(checked);
}

return this;
}

请注意,当设置了 EXCLUSIVE 标志时,checked 将被完全忽略。

关于android - setChecked(false) 和 setChecked(true) 一样吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39616792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com