我试图在运行时在特定条件下更改 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/