gpt4 book ai didi

android - 在 Android 中使用具有多个布局的单个 fragment

转载 作者:行者123 更新时间:2023-11-30 02:41:07 24 4
gpt4 key购买 nike

我想在多个布局中使用单个 fragment (只有可以加载多个布局的单个 fragment 类)。我有两个布局 xml 文件。根据运行时的情况,我不得不在布局xml文件之间切换。实际上,该应用程序必须发布一个表格。如果用户必须填写表单,则带有问卷布局的 fragment 必须可见,并且当用户单击提交按钮时,同一 fragment 中的另一个布局必须可见,以显示结果。如果用户已经提交了表单,则带有结果布局的 fragment 必须可见。

这可能吗?如果不是,请提出任何其他可行的替代方案。

最佳答案

一个解决方案是您可以为 Fragment View 设置简单的 FrameLayout。然后使用LayoutInflater 膨胀相应的 View 并将其添加到FrameLayout。您可以通过移除现有 View 并膨胀其他 View 来替换它来切换布局。

代码应该是这样的:

private FrameLayout mContainer;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mContainer = (FrameLayout) inflater.inflate(R.layout.fragment_framelayout, null);

onSubmittedStateChanged(SubmittedState.SUBMITTED); // OR SubmittedState.NOT_SUBMITTED

return mContainer;
}

public void onSubmittedStateChanged(SubmittedState state) {
LayoutInflater inflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);

mContainer.removeAllViews();

switch (state) {
case SubmittedState.SUBMITTED:
inflater.inflate(R.layout.submitted, mContainer);
break;
case SubmittedState.NOT_SUBMITTED:
inflater.inflate(R.layout.not_submitted, mContainer);
break;
}
}

关于android - 在 Android 中使用具有多个布局的单个 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25737817/

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