フラグメント間の通信-動的フラグメントオブジェクトを取得します

動的フラグメントはIDを追加しないため、一般的な通信では、フラグメントを直接取得するのではなく、アクティビティを使用してコンポーネントを間接的に操作します。
放送で情報を発信して運用することもできます。
しかし、すべてのFragmentオブジェクトを取得できることがわかりました。その結果、動的に追加されたFragmentsを取得する方法が得られました。

欠陥:取得するフラグメントは1回だけ使用する必要があります(アクティビティにはオブジェクトが1つだけあります)。

1.通常の操作方法

https://blog.csdn.net/u012702547/article/details/49786417
不做赘述,直接介绍强行获取Fragment对象的方法。

2.Fragmentオブジェクトを取得します

最初の一歩。

Fragment-> Activity、メソッドは上記と同じですが、省略されています。

ステップ2。

	// 从所有Fragment中查找唯一的RightFragment对象,注意:要获取的Fragment一定要唯一。
    List<Fragment> fragments = fragmentManager.getFragments();
    for (Fragment f: fragments) {
    
    
        if (RightFragment.class.isInstance(f)) {
    
    
            fragmentRight = f;
            break;
        }
    }
    TextView tv_fra_right = fragmentRight.getView().findViewById(R.id.tv_fraright);
    tv_fra_right.setText(mes + "再传到RightFragment中。");
    if (fragmentRight != null) {
    
    
        tv_activity = fragmentRight.getActivity().findViewById(R.id.tv_fraright);
        LogUtil.d("FragmentActivity showProMes", "使用了fragment对象。");
    }
    // 三件套必须一起用才稳键。
    fragmentTransaction = fragmentManager.beginTransaction();
    fragmentTransaction.replace(R.id.lin_fra_right, fragmentRight);
    fragmentTransaction.commit();

Zhuang Zhouxiaoは蝶を夢見ており、WangDichunはカッコウの世話をしています。-李シャンギン

おすすめ

転載: blog.csdn.net/weixin_37627774/article/details/109000858