的原因可能是以下几点:
针对这个问题,可以使用以下步骤来解决:
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
...>
<!-- 布局内容 -->
</LinearLayout>
</layout>
onCreate()
方法中添加以下代码:private ActivityMainBinding binding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivityMainBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
}
private MutableLiveData<Boolean> switchState = new MutableLiveData<>();
public LiveData<Boolean> getSwitchState() {
return switchState;
}
public void setSwitchState(boolean state) {
switchState.setValue(state);
}
<Switch
android:id="@+id/switchButton"
android:checked="@{viewModel.switchState}"
... />
onCreate()
方法中添加以下代码:viewModel.getSwitchState().observe(this, new Observer<Boolean>() {
@Override
public void onChanged(Boolean state) {
binding.switchButton.setChecked(state);
}
});
这样,当viewModel中的数据更改时,切换按钮的状态将通过视图绑定进行更新。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云