我有一个带有Switch Control
. 通过这个开关控制,用户可以打开/关闭一个 tcp 服务器。
现在我有一个与这里类似的问题。如果开关(以及服务器)打开并且方向发生变化,onclicklistener
则会再次调用,因此服务器也会再次启动。
我试图通过检查客户端是否为空来处理这个问题:
OnCheckedChangeListener listener = new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked) {
if (client == null)
startCubeSolverServer();
} else {
if (client != null)
stutdownCubeSolverServer();
}
}
};
但是因为客户端对象是我活动的私有变量,所以每次方向更改都会重置为空。
changeHandler
如果用户视图中的值没有改变,是否有一个简单的解决方法可以不运行?