Android 如何将动态创建的RelativeLayout传递给片段
我已经创建了一个类,它扩展了Android 如何将动态创建的RelativeLayout传递给片段,android,android-fragments,Android,Android Fragments,我已经创建了一个类,它扩展了Fragment,创建了相对布局。我想知道如何将动态创建的相对布局传递给另一个包含框架布局的片段,并将相对布局设置为框架布局为什么要创建碎片外的布局?这就是为什么片段在其生命周期中有onCreaveView&onViewCreated方法 我建议您使用Bundle将状态变量(int,string)传递给片段, 在onCreateView方法上,根据它获取构建视图中的状态 您可以找到如何传递bundle并在片段中使用它的简单示例 如果您发现自己必须将一个视图传递给片段,
Fragment
,创建了相对布局
。我想知道如何将动态创建的相对布局
传递给另一个包含框架布局
的片段,并将相对布局
设置为框架布局
为什么要创建碎片外的布局?这就是为什么片段在其生命周期中有onCreaveView&onViewCreated方法
我建议您使用Bundle将状态变量(int,string)传递给片段,
在onCreateView方法上,根据它获取构建视图中的状态
您可以找到如何传递bundle并在片段中使用它的简单示例
如果您发现自己必须将一个视图传递给片段,您可以使用第三类来保存它。但这确实不是正确的方法…我还没有尝试过,但可能会奏效
class CustomFragment extends Fragment{
RelativeLayout relativeView;
CustomFragment(RelativeLayout view){
relativeView = view;
}
onCreateView(){
//inflate layout and get FrameLayout
frameLayout.addView(relativeView);
}
}
和您的相对值yout
RelativeLayout r = new RelativeLayout(context);
// custom it as you wish
CustomFragment fragment = new CustomFragment(r);
但我想从多个动态布局中选择其中的任何一个…是否可以通过捆绑传递布局..?只有可打包对象碎片不允许构造函数中包含变量,我们只能使用默认构造函数。您可以做的是在片段中设置一个所需数据类型的变量,并在其中设置一个setter函数来设置该变量。这就是我们可以做的,如果要传递int、float或boolean,可以使用bundle和setArguments方法。