動的フラグメントは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はカッコウの世話をしています。-李シャンギン