CheckBox的OnCheckedChangeListener的调用

android.widget.CompoundButton.OnCheckedChangeListener

我的一个程序是在主Activity A 中有一个CheckBox;但从A进入到Activity B中,在B中设置好一些参数后,返回A,这时让A中的CheckBox被选中。当然在A中也能手动让CheckBox被选中或是取消选中。

A的布局xml文件中关于CheckBox的描述是:

<CheckBox android:id="@+id/cb_time_open"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/text_size_medium"
android:layout_below="@id/btn_create_new_alarm"
android:layout_marginLeft="20dip"
android:layout_marginTop="5dip"
android:textColor="@android:color/white"
/>

现在的问题是:
当第一次进入程序时,因为要恢复用户上一次设置的状态,所以要给CheckBox来setChecked(boolean)。这时就已经触发了A的CheckBox的OnChecedChangedListener了。
而且在B中设置完毕后,返回到A界面时,又要求让CheckBox.setChecked(true),又再一次触发了OnCheckedChangedListener。
而上面的这两种触发都不是我想要的,我想要的只是用户手动选中或取消勾中CheckBox时才触发。

这个主要还是逻辑上的问题。
目前还没有什么好办法,临时采取的办法时让CheckBox只负责显示是否勾中,然后写一个Button来负责取消或是增加我要的功能。
这个的好处就是不再触动OnCheckedChangedListener,只有当用户手动点击Button时才执行特定功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值