相关疑难解决方法(0)

在ViewPager中未使用数据绑定正确检查Android复选框

我的Android应用中有一个表单,它使用ViewPager分布在多个页面中.

为了简单起见,它只返回View对象而不是实例化Fragments.

每个视图都由布局和视图模型(我用于所有视图的相同实例)和数据绑定自动设置值组成.

问题是,如果复选框位于加载活动时不在前面的视图中,则复选框未填充且具有白色复选标记.

如果我更改了顺序,那么带有复选框的视图是ViewPager加载的第一个,我可以看到复选框被选中(带动画)并且它们被正确标记.

请参阅附带的屏幕截图:

查看不是第一个加载

查看是第一个加载

我的单选按钮也有同样的问题.

Checkbox的数据绑定示例:

<CheckBox
            android:id="@+id/checkbox_calling"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginTop="16dp"
            android:layout_weight="1"
            android:checked="@={viewModel.observation.calling}"
            android:text="@string/label_calling" />
Run Code Online (Sandbox Code Playgroud)

更新:

我目前通过设置一个OnPageChangeListeneron ViewPager和当ViewPager滚动到带有复选框的页面时解决了这个问题,我取消选中复选框,然后将它们设置为原始值.

然后正确显示动画,复选框最终带有正确的复选标记.

然而,我仍然希望了解我做错了什么或Android数据绑定本身是否存在问题.

android

4
推荐指数
1
解决办法
897
查看次数

标签 统计

android ×1