Xamarin嵌入片段中的片段

时间:2016-09-03 22:12:37

标签: android android-fragments xamarin fragmentmanager

我有一堆奇怪的问题,片段中包含在axml中设计时嵌入的片段。

我的问题是,当我完成使用FragmentManager加载到View中的片段,然后使用FragmentManager删除时,隐式加载的片段会自动销毁吗?如果不是,我应该如何清理父片段,以便嵌入的片段也被删除。当父片段被销毁时,我是否需要调用View.RemoveAllViews()来删除片段布局?

2 个答案:

答案 0 :(得分:0)

这似乎有效。在将片段加载到列表中时捕获片段,然后在稍后卸载主片段时将其删除。 (必须处理())​​

<div class="form-group">
    <label for="attribute">Attribute</label>
    <select class="form-control" id="attribute" [(ngModel)]="model.attribute" name="attribute" required>
        <option *ngFor="let attr of attributes" [value]="attr">{{attr}}</option>
    </select>
</div>

<div class="form-group">
    <label for="operator">Operator</label>
    <select class="form-control" id="operator" [(ngModel)]="model.operator" name="operator" required>
        <option *ngFor="let op of operators" [value]="op">{{op}}</option>
    </select>
</div>

export class MyModelFormComponent {
      attributes = ['attr1', 'attr2'... 'attrN'];
      ops1 = ['x', 'y', 'z'];
      ops2 = ['A', 'B', 'C'];
      ...

      model = new MyModel();

}

答案 1 :(得分:0)

我发现我试图做的事情是不允许的。

From this article

  

请注意,一个限制是嵌套(或子)片段必须在运行时动态添加到其父片段,并且不能使用标记静态添加。