类似问题再次链接。但这条线是旧的,可以解决这个问题。我想换一下从switchB中获取switchcha的状态,反之亦然,但不想触发侦听器中的代码。代码只需要在按下开关时执行。我读到:
switchA.setOnCheckedChangeListener (null);
switchA.setChecked(false);
,但这完全禁用了switchA侦听器。如何重新启动它?
谢谢。
您可以简单地再次调用switchA.setOnCheckedChangeListener(this);
:
public class MainActivity extends AppCompatActivity implements CompoundButton.OnCheckedChangeListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//This is the listener
switchA.setOnCheckedChangeListener(this);
//Disable the listener
switchA.setOnCheckedChangeListener(null);
//set state of Switch
switchA.setChecked(false);
//Enable the Listener again
switchA.setOnCheckedChangeListener(this);
}
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
}
}