gpt4 book ai didi

安卓数据绑定(bind) : Is there a good way to show/hide an includes tag?

转载 作者:行者123 更新时间:2023-11-29 15:35:32 24 4
gpt4 key购买 nike

我刚刚开始弄乱 android 中的数据绑定(bind)。理想情况下,我希望有一个包含一些通用 xml 元素的根 xml 文件,然后它的内部内容可以是像这样的三个 xml 文件之一

<data>
<variable name="action" type="com.example.android.action"/>
</data>

<TextView>
<TextView>
<!--Only show one of these includes based on the binding data-->

<!-- if action.item -->
<include layout="item.xml"
bind:item="@{action.item}">

<!-- else if action.udpate -->
<include layout="update.xml"
bind:update="@{action.update}">

<!-- else if action.video -->
<include layout="video.xml"
bind:video="@{action.video}">

<TextView>
... etc

所以基本上基于操作(项目、更新或视频)中存在的子对象显示它的布局并绑定(bind) View 但不显示其他包含。我应该只使用 android 的 View:Visibility 还是有一些我忽略的内容?

最佳答案

Should I just use android's View:Visibility

是的,最好的方法是检查数据绑定(bind)布局中的 boolean 并相应地设置可见性,如下所示。

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
>

<data>

<import type="android.view.View"/>

<variable
name="action"
type="com.example.android.action"/>
</data>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<include
layout="@layout/item"
android:visibility="@{action.item ? View.VISIBLE: View.GONE}"/>

<include
layout="@layout/update"
android:visibility="@{action.someOtherObject!=null ? View.VISIBLE: View.GONE}"/>

</LinearLayout>
</layout>

在这里你可以像上面一样检查NULLBoolean

关于安卓数据绑定(bind) : Is there a good way to show/hide an includes tag?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51251215/

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