public class FragmentA extends Fragment {
}
public class FragmentB extends Fragment {
}
<!-- activity_main.xml -->
<LinearLayout>
<fragment
android:name="com.example.FragmentA"
android:id="@+id/fragmentA"
... />
<fragment
android:name="com.example.FragmentB"
android:id="@+id/fragmentB"
... />
</LinearLayout>
public class MainActivity extends AppCompatActivity {
private FragmentA fragmentA;
private FragmentB fragmentB;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
fragmentA = (FragmentA) getSupportFragmentManager().findFragmentById(R.id.fragmentA);
fragmentB = (FragmentB) getSupportFragmentManager().findFragmentById(R.id.fragmentB);
}
public void onFragmentADataChanged(Object data) {
fragmentB.updateData(data);
}
public void onFragmentBDataChanged(Object data) {
fragmentA.updateData(data);
}
}
groovy
implementation 'androidx.fragment:fragment:1.3.0'
<activity
android:name=".MainActivity"
... />
<fragment
android:name="com.example.FragmentA"
... />
<fragment
android:name="com.example.FragmentB"
... />