如何将动态创建的RelativeLayout传递给片段

时间:2014-02-17 07:29:27

标签: android android-fragments

我创建了扩展Fragment的类,它创建了RelativeLayout。我想知道如何将动态创建的RelativeLayout传递给包含FrameLayout的另一个片段,将RelativeLayout设置为FrameLayout

2 个答案:

答案 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);