ややこしいからメモ
Activity→Fragment→ChildFragmentのViewPagerである特定のViewPagerのpositionを呼び出したいとき
try {
FragmentManager fm = ((MainActivity) context).getSupportFragmentManager();
Fragment prev = fm.findFragmentByTag("たぐ");
if (prev != null) {
FragmentManager fmF =prev.getChildFragmentManager();
ChildClass fragInFrag = (ChildClass)fmF.findFragmentByTag(
"android:switcher:" + R.id.pager + ":1(ここはPositionを指定)");
if (fragInFrag!= null){
fragInFrag.なんかの動作();
}
}
} catch (ClassCastException e) {
Log.e("TAG", "Can't get fragment manager");
}
ActivityからFragmentのフラグメントの動作を呼び出したいとき
//親fragmentの呼び出し
Fragment prev = getParentFragment().getFragmentManager().findFragmentByTag("たぐ");
if (prev != null) {
Class df = (Class) prev;
df.なんかの動作();
}
FragmentまたはChildFragmentからActivityを呼び出したいとき
MainActivity activity = (MainActivity) getActivity(); if(activity!=null)activity.なんか();
FragmentまたはChildFragmentからFragmentを呼び出したいとき
try{
FragmentManager fm = getActivity().getSupportFragmentManager();
Fragment_class main = (Fragment_class)fm.findFragmentById(R.id.container);
if (main != null){
main.なんか
}
}catch(ClassCastException e){
}
