Android:使用枚举比较的数据绑定表达式

Android:使用枚举比较的数据绑定表达式,android,data-binding,enums,Android,Data Binding,Enums,是否可以使用枚举创建数据绑定表达式并控制视图元素的可见性?我想要实现的是以下几点 <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:visibility="@{user.editType == EditType.EDIT_PROFIL ? View.VISIB

是否可以使用枚举创建数据绑定表达式并控制视图元素的可见性?我想要实现的是以下几点

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:visibility="@{user.editType == EditType.EDIT_PROFIL ? View.VISIBLE : View.GONE}">
如果我能在XML中使用这个枚举来控制我的
LinearLayout
的可见性,那就太棒了


有人知道如何实现这一点吗?

我建议您将逻辑与UI分开。可视性的所有逻辑都应该在不同事件中用java代码完成。我想说,如果在Activity/Fragment的OnCreate()方法上实现@Demo\u Mail suggered之类的东西,那么它会起作用,但读取数据绑定标记表明,您希望在运行过程中的任何时候动态执行此操作(如果我错了,请纠正我)。在这种情况下,我建议创建一个OnClick()或OnSelectItem()方法,该方法将在用户选择枚举值时执行(例如在组合框中)。此方法将设置视图的可见性。

在我看来,您想要实现的似乎是可能的,我看不出任何错误,除非您缺少标记?我不明白

<data>
 <import type="com.example.my.app.EditType"/>
</data>


No不是动态的。在onCreate的开始,我设置了数据绑定资源,并希望以此来控制可见性。如果我能在xml中使用enum,它的可读性会更好。否则,我必须引用代码中的每一条线性布局…:D对我来说,你想要实现的似乎是可能的,我没有看到任何错误,除了你可能缺少标签?我不明白。。。太好了,谢谢:)这句台词很管用。如果您将此作为答案发布,我会将其标记为正确的解决方案,您将获得一些声誉:)
<data>
 <import type="com.example.my.app.EditType"/>
</data>