【问题标题】:Android: Disable checkboxes without graphical change?Android:禁用复选框而不更改图形?
【发布时间】:2013-08-27 00:41:28
【问题描述】:

可以做-subject-吗? 现在,如果我设置checkboxInstance.setEnabled(false);,复选框将获得其“禁用图形”,变灰且更透明。我正在尝试做的是完全相同的,但我需要保持复选框看起来活跃。

原因是我在父元素上有一个 onClickListener。这工作正常,但似乎当复选框被触摸时,复选框被取消/选中而不触发父级的侦听器(当然我想总是触发它)。

谢谢!

编辑:基本上我正在寻找这样的东西(AS3 中的代码,当然没有图形,所以它不会真正起作用......但只是理论):

var s:Sprite = new Sprite();
var cb:Sprite = new Sprite(); //let's assume this is a checkbox

s.addChild(cb); //cb is inside of the s
addChild(s); //s is added to the display list

s.mouseChildren = false;
s.addEventListener(MouseEvent.CLICK, fireClick);

//cb could have a mouse listener as well, nothing would happen as s.mouseChildren is set to false

【问题讨论】:

  • 我不太喜欢 Android,但我认为您可以编写一个从复选框扩展的自定义视图并覆盖 onClick 事件以不更改气泡的状态,而是将其传递给它的父级(通过调用performClick)。

标签: java android checkbox


【解决方案1】:

天哪,这么简单...setClickable(false)android:clickable="false"。就是这样。

【讨论】:

    【解决方案2】:

    是的,这是可能的。当用户更改该复选框的状态时调用该代码:

    yourcheckbox.setChecked(true);
    

    yourcheckbox.setChecked(false);
    

    【讨论】:

      猜你喜欢
      • 2016-04-01
      • 2010-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-09
      • 2017-08-15
      • 2019-11-12
      相关资源
      最近更新 更多