setChecked方法触发onCheckedChanged监听器问题

有时须要在程序初始化界面时,讲有些比如toggleButton等控件依照需求勾选,此时会发现,当我setChecked时会触发onCheckedChanged监听器,导致这部分代码被调用两次。解决方法时区分开人为点击和setChecked。在监听器中增加一个推断,是否按下:

	@Override
	public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
		// TODO Auto-generated method stub
		if(!buttonView.isPressed())return;	//加这一条,否则当我setChecked()时会触发此listener
... ...
}


另外,还有个感触,做IT的百度不行,真心离不开Google 啊,此问题參考StackOverFlow(http://stackoverflow.com/questions/9129858/how-can-i-distinguish-whether-value-is-changed-by-user-or-programmatically-incl

原文地址:https://www.cnblogs.com/zfyouxi/p/5086500.html