gpt4 book ai didi

android - 使用带有复选框的android双向数据绑定(bind)

转载 作者:行者123 更新时间:2023-12-02 11:21:32 24 4
gpt4 key购买 nike

我正在尝试使用 android 双向 databindingcheckBox在一个 fragment 中。
我在 viewPager 中有多个 fragment 与自定义 FragmentStatePagerAdapter和一个 viewModel在第一个 fragment .
我有一个带有以下代码的复选框:

<CheckBox
android:id="@+id/checkbox_accept_rules"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:checked="@={viewmodel.isAccept}"
android:gravity="right"
android:text="text..." />

在 View 模型中:
private final ObservableBoolean isAccept = new ObservableBoolean(false);

当我走到最后 fragment并返回到第一个 checkBox不再选中,复选框的颜色为真,但检查图标不存在!
以前有人遇到过这个问题吗?

提前致谢

最佳答案

View pager的fragment比普通fragment有一个独特的生命周期。如果你有3个fragment A->B->C并且你从C上刷了B,那么fragment A就会被销毁。你可以通过重写一个方法onDestroy来检查它。在 fragment A中。当您再次滑动到A时,它将再次重新创建,并且所有值将再次初始化。这就是您的复选框值未选中的原因。尝试将复选框的值保存在sharedPreference中,因此无论何时重新创建它都会采用值来自 sharedPreference 并记住当您的 viewpager 将被销毁或它的容器 Activity 被破坏时清除 sharedPrefence 值。

关于android - 使用带有复选框的android双向数据绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49124476/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com