我正在使用带有DataBinding支持的MVVM设计模式。我在我的应用程序中有一个用于多个屏幕的通用列表项视图,但是在其中一个列表中,该列表项视图中需要一个小的附加视图。因此,我想动态地包含或膨胀该subView。就像如果在ViewModel中设置了一个字段,则将那个视图膨胀,否则就不膨胀。 我想到的一种便宜的解决方案是始终包含该视图,但根据需要显示或隐藏。但我不想在最后一个选择之前继续选择它。
以下为部分代码:
@BindingAdapter("boxPrivacyTag")
public static void bindBoxPrivacyTag(final ConstraintLayout parentView, String privacyStatus) {
if (!TextUtils.isEmpty(privacyStatus)) {
Context context = parentView.getContext();
LayoutInflater inflater = LayoutInflater.from(context);
LayoutBoxPrivacyStatusBinding binding = DataBindingUtil.inflate(inflater, R.layout.layout_box_privacy_status, parentView, false);
parentView.addView(binding.getRoot());
binding.tvPrivacy.setText(privacyStatus);
}
}
谢谢