在Activity中获取Fragment实例

时间:2016-03-31 06:30:56

标签: android android-fragments interface fragmentmanager android-framelayout

  

我已将片段添加到活动中,如

getSupportFragmentManager().beginTransaction()
                    .add(R.id.container,new MyFragment).commit();

其中containerFrameLayout

的ID
 <FrameLayout
            android:id="@+id/container"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />

现在我怎么能在活动中获得片段 like this的实例

Fragment A获取结果后,我必须调用Fragment B的方法。

我在Fragment B中创建了一个接口,并在Activity.Now中实现了它。我必须将结果传递给Fragment A.我无法获得Fragment A的实例。

  

我不想做的一件事是在活动中创建片段A 的私有实例并调用它的方法。

2 个答案:

答案 0 :(得分:15)

试试这个

<asp:Button ID="btnApplyFilter" runat="server" Text="Apply Filter" OnClick="btnApplyFilter_Click" />

获取片段

getSupportFragmentManager().beginTransaction()
                .add(R.id.container,new MyFragment(),"MyFragment").commit();

答案 1 :(得分:0)

遵循此link

  

所有片段到片段的通信都是通过关联的Activity完成的。两个碎片永远不应该直接沟通。

因此我建议:

  1. interface中定义Fragment B
  2. interface
  3. 中实施activity
  4. 然后最终将邮件发送给Fragment A
  5. Code example and reference.