[英]How do I change the state of a switch in Android studio via a button?
您应该查看MutableLiveData每当您的应用程序的视图发生更改时,它是 state(按下按钮),您可以收听该事件附加并观察到 MutableLiveData,从而对更改做出反应(并更改开关位置)
在高级视图中,代码如下所示:
onCreate {
MutableLiveData buttonPressed = false;
}
onCreateView {
Switch switch = getSwitch();
Button button = getButton();
button.onClick {
buttonPressed.value = true;
}
buttonPressed.observe {
switch.toggle();
}
}
您可以在布局中添加一个ToggleButton
, 这里有多个类型
<ToggleButton
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textOff="Unselected"
android:textOn="Selected" />
并通过添加OnCheckedChangeListener
来听其检查 state ,并相应地更改 state :
ToggleButton button = findViewById(R.id.btn1);
button.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
// State is On
// Run your code you want whenever the sate is ON
} else {
// State is OFF
// Run your code you want whenever the sate is OFF
}
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.