gpt4 book ai didi

安卓数据绑定(bind) : Possible to bind values from a HashMap

转载 作者:行者123 更新时间:2023-11-30 01:31:57 25 4
gpt4 key购买 nike

我正在将对象的字段(字符串、整数等)绑定(bind)到布局文件。例如:

  <data>
<variable
name="appState"
type="com.example.app.AppState"
/>
</data>

  <android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:title="@{appState.thing}"
/>

这很好用。但是,我在该 appState 对象中还有一个 HashMap 值。

是否可以绑定(bind)到来自此的值,即 android:text="@{appState.thehashmap['thekey']"

当前expression syntax似乎不支持它。

但是,我想知道,有什么办法吗?非常感谢。

最佳答案

好吧,仔细看看文档,它是:

如果你的HashMap是这样的:

  public HashMap<String, String> thing = new HashMap<String, String>() {{
put("stuff", "yeah");
}};

public HashMap<String, String> getThing() {
return thing;
}

public void setThing(HashMap<String, String> thing) {
this.thing = thing;
}

那么你的布局文件可以是这样的:

  <data>
<import type="java.util.HashMap"/>
<variable
name="appState"
type="com.example.app.AppState"
/>
</data>
...
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:title='@{appState.thing["stuff"]}'
/>

关于安卓数据绑定(bind) : Possible to bind values from a HashMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35618116/

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