gpt4 book ai didi

Android DataBinding 动态添加 View

转载 作者:太空宇宙 更新时间:2023-11-03 12:05:49 25 4
gpt4 key购买 nike

我有两个布局 xml AB

A xml 中的线性布局,id 为“layout”

现在我想使用layout.addView()在布局中添加B

如何使用数据绑定(bind)

最佳答案

我认为这不是最佳实践,但这是我使用 databinding 动态添加 View 的方式。

在布局 A 中,我有一个如下所示的 FrameLayout:

<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
bind:createView="@{viewModel.dynamicViews}">

在我的 viewModel 类中,我有一个带有 BindingAdapter 注释的静态方法,

@BindingAdapter("bind:createView")
public static void createImproveView(FrameLayout layout, LinearLayout replacement) {
layout.removeAllViews();
layout.addView(replacement);
}

我在这里有我的替换布局:

public LinearLayout getDynamicViews() {
LinearLayout layout = new LinearLayout(mContext);
// dynamically add views here. This could be your layout B.
return layout;
}

我找不到任何其他解决方案,这对我来说效果很好。请给我任何意见,我愿意学习更好的解决方案!

关于Android DataBinding 动态添加 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31446779/

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