【问题标题】:How to disable chips in android如何在android中禁用芯片
【发布时间】:2020-05-19 08:18:04
【问题描述】:

当某些操作发生时,我想禁用芯片组。

目前我的代码如下所示:

           R.id.all -> {
                    chipGroup.clearCheck()
                    chipGroup.isClickable = false
                    selectedCategory = null
                } 

它确实清除了所有检查,但我仍然可以单击并选择筹码。

如何防止所有筹码被点击?

【问题讨论】:

  • 有类似chipGroup.enabled = false的东西吗?
  • 只要使用chipGroup.isEnabled = false
  • 这很奇怪,但它仍然让我即使使用isEnabled = false也可以点击筹码
  • 如何将isEnabled = false 设置为您的chipGroup 中的所有芯片?
  • 我可能可以,但这是一个巨大的代码重复,我确信有一种方法可以一次禁用所有芯片

标签: android android-layout kotlin


【解决方案1】:

此 Kotlin 扩展功能允许您启用/禁用芯片组内的所有芯片:

    fun ChipGroup.setChildrenEnabled(enable: Boolean) {
        children.forEach { it.isEnabled = enable }
    }

你可以这样使用它:

    chipGroup.setChildrenEnabled(false)

【讨论】:

    【解决方案2】:
    public void setChipEnable(boolean status) {
        for (int i = 0; i < chipGrp.getChildCount(); i++) {
            chipGrp.getChildAt(i).setEnabled(status);
        }
    }
    
    setChipEnable(false);
    

    【讨论】:

    • 纯代码答案是低质量的答案。
    猜你喜欢
    • 2018-12-14
    • 2012-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多