android numberpicker不可编辑,android – NumberPicker在禁用时不会变灰

我相信我可能在

Android UI中发现了一个错误,但我想确保我没有做错的事情.这是我正在运行的代码的简化版本,这导致了问题.这个监听器设置在我的UI中的特定NumberPicker上,它正确地禁用/启用了一些东西,但是如果用户已经改变了它禁用的其他NumberPickers之一的值,那么它的行为有点奇怪.

它仍然可以正确地禁用输入,但它无法使值变灰,使其看起来仍然启用.这是有意的吗?难道我做错了什么?

NumberPicker.OnValueChangeListener diceChangeListener = new NumberPicker.OnValueChangeListener() {

@Override

public void onValueChange(NumberPicker picker, int oldVal, int newVal) {

View parent = (View) picker.getParent();

if (newVal == 0) {

((NumberPicker) parent.findViewById(R.id.diceCountPicker1)).setEnabled(false);

} else if (oldVal == 0) {

((NumberPicker) parent.findViewById(R.id.diceCountPicker1)).setEnabled(true);

}

}

};

让我知道是否有更好的方法来做到这一点,或者这是否是一个合法的错误.如果它是一个bug,有没有办法解决它?

编辑:这是XML中diceCountPicker1的定义:

android:id="@+id/diceCountPicker1"

android:layout_width="48dp"

android:layout_height="128dp"

android:descendantFocusability="blocksDescendants"

/>

编辑2:

我在模拟器中对此进行了测试,并确认在Jellybean(4.1)之前该问题不存在.它在ICS中正常工作.那……很烦人.但我现在可以忍受它了.我会留下这个开放的方法来解决这个bug的潜在方法,但它看起来像一个真正的bug,我怀疑它可以修复.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值