求助:如何判断RadioGroup的oncheckedChanged()是由用户触发还是系统触发的 本帖最后由 vviking 于 2013-08-21 14:28:52 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 无法正面回答楼主的问题。说一种解决方案吧:可以搞一个boolean变量,在onResume中赋ture,在onCheckedChanged中检查,如为true则赋成false然后什么也不干返回,为false则弹dialog。 呵呵,这种方法我尝试过,但是失败的。因为,当group.check()后,系统会调用两次onCheckedChanged()方法(没研究为什么会调用两次),所以用一个外部变量时,虽然系统第一次调用onCheckedChanged()中,可以判断这个外部变量做不同操作,但由于做完操作以后需要将外部变量恢复初始值,于是系统紧接着的第二次调用onCheckedChanged()中,变量被恢复初始值了,所以还是走弹出dialog的操作。我找到另一种方法,定义checked button的状态变量mCurrentChecked,存到数据库中。onCreate()时,从数据库中读出mCurrentChecked的状态,在onResume()中,group.check(mCurrentChecked)。此时在onCheckedChanged()中判断,if(checkedId==mCurrentChecked){则说明是通过group.check()触发}else{用户触发-->Reset Data}。即使用户触发的radiobuttonId == mCurrendChecked也没关系,因为checkedbutton没有发生改变,data不需要reset,本就应该走前者的case。 图书馆里关于android的书!看看那本适合初学者 android有没有直接解析xml文本并按照xml布局显示内容的?? Android 系统 横竖屏设置 AVD问题 求救 Json里有href 三星S4智能皮套小视窗功能实现方法 菜鸟提问,关于JSON解析 ubuntu android源代码下载。 Android 网络] httpClient上传语音WiFi下成功,3G失败 [Android O]新功能adaptive-icon标签的的使用与出处? smack 好友上下线头像变色问题 阅读短信后,手机偷偷地上网,一会就欠费了,这是什么技术?
此时在onCheckedChanged()中判断,if(checkedId==mCurrentChecked){则说明是通过group.check()触发}else{用户触发-->Reset Data}。即使用户触发的radiobuttonId == mCurrendChecked也没关系,因为checkedbutton没有发生改变,data不需要reset,本就应该走前者的case。