代码之家  ›  专栏  ›  技术社区  ›  Zar E Ahmer

获取活动中的片段实例

  •  5
  • Zar E Ahmer  · 技术社区  · 9 年前

    我已将碎片添加到Activity,如

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

    哪里 container 是的id FrameLayout

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

    现在我怎样才能得到 活动中的碎片 like this

    我必须调用 Fragment A 从中获得结果后 Fragment B .

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

    我不想做的一件事是创建 片段A 在里面 活动 并调用它的方法。

    2 回复  |  直到 7 年前
        1
  •  17
  •   arun    9 年前

    试试这个

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

    为了得到碎片

    MyFragment frag = ((MyFragment) getSupportFragmentManager().findFragmentByTag("MyFragment"));
    
        2
  •  0
  •   Rohit Arya    9 年前

    在此之后 link :

    所有碎片到碎片的通信都通过相关活动完成。两个片段不应直接通信。

    因此,我建议:

    1. 定义 interface 在里面 Fragment B .
    2. 实施 界面 在里面 activity .
    3. 最后,将信息传递给 Fragment A .

    Code example and reference.