我创建了扩展Fragment
的类,它创建了RelativeLayout
。我想知道如何将动态创建的RelativeLayout
传递给包含FrameLayout
的另一个片段,将RelativeLayout
设置为FrameLayout
。
答案 0 :(得分:1)
为什么要在片段外创建布局?这就是为什么片段有onCreaveView& onViewCreated方法在他们的生命周期中。
我建议你使用Bundle将STATE变量(int,string)传递给片段, 并在onCreateView方法上获取构建视图的状态。
您可以找到如何传递bundle并在片段here
中使用它的简单示例如果你发现自己必须将视图传递给片段,你可以使用第三类来保存它。但那真的不是正确的方式......
答案 1 :(得分:-1)
我还没有尝试过,但可能有效
class CustomFragment extends Fragment{
RelativeLayout relativeView;
CustomFragment(RelativeLayout view){
relativeView = view;
}
onCreateView(){
//inflate layout and get FrameLayout
frameLayout.addView(relativeView);
}
}
和您的RelativeLayout
RelativeLayout r = new RelativeLayout(context);
// custom it as you wish
CustomFragment fragment = new CustomFragment(r);