是否可以使用枚举创建数据绑定表达式并控制视图元素的可见性?我想要实现的是以下
<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}">
EditType类非常简单
public enum EditType {
NONE,
EDIT_PROFIL,
EDIT_ADDRESSES; }
如果我可以在XML中使用此枚举来控制LinearLayout
的可见性,那将是非常棒的。
有人知道如何实现这个目标吗?
答案 0 :(得分:23)
对我来说,似乎你想要达到的目标是可能的,除非你缺少标签,否则我没有看到任何错误?我没看到它......
<data>
<import type="com.example.my.app.EditType"/>
</data>
答案 1 :(得分:0)
我建议你将逻辑与UI分开。可见性的所有逻辑都应该在不同事件的java代码中完成。我会说像@Demo_Mail建议的东西,如果在你的Activity / Fragment的OnCreate()方法上实现,但是读取数据绑定标签建议我你想要在运行中的任何一点动态地执行此操作(如果我在我错了)。在这种情况下,我建议创建一个OnClick()或OnSelectItem()方法,该方法将在用户选择枚举值(例如,在comboBox中)时执行。此方法将设置视图的可见性。