android - 在 fragment 中设置新布局

标签 android android-fragments

我试图在运行时在特定条件下更改 fragment 的布局。

初始布局在 onCreateView() 中膨胀:

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        return inflater.inflate(R.layout.cancel_video, null);
    }

然后稍后在 fragment 代码中我想用其他布局替换初始布局。

到目前为止我已经尝试了一些东西;这是我最新的:

private void Something(){
    if(checkLicenseStatus(licenseStatus, statusMessage)){
                View vv = View.inflate(getActivity(), R.layout.play_video, null);
                //more code
    }
}

我怎样才能做到这一点?

最佳答案

一旦 fragment 膨胀,您就不能替换它的布局。如果您需要条件布局,那么您要么必须重新设计布局并将其分解为更小的元素,例如 Fragments。或者,您可以将所有布局元素分组到子容器中(如 LinearLayout),然后将它们全部包装在 RelativeLayout 中,定位它们以便它们相互重叠,然后切换可见性这些 LinearLayout 在需要时使用 setVisibility()

关于android - 在 fragment 中设置新布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12222925/

相关文章:

java - Android 中的 TextView 的字符串不像以前在自定义适配器中那样显示

android - 记录 WorkManager 工作人员

android - 如何将 View 与布局相关联

android - Fargments 可以根据方向更改布局吗?

android - popBackStack 后 fragment 空白

android.content.Context.getPackageName()' 在空对象引用上

Java : Get the time of different timezone

java - 如何修改此代码以使其在 Android API 3.0 上运行?

android - Unity 无法发布到 Play Console - 无效的应用程序签名

java - 从 Fragment 类外部更新 View 的 arrayAdapter